最近の変更サイトマップ

Excelアドインファイルの自分自身のフルパスを取得する

エクセルのVBAプロジェクトで、自身の.xlamファイルのフルパスを取得する方法。まずはコード。

' 自身のファイル名
Const kMyXlamFileName = "MyAddIn.xlam"
 
Private Function GetMyXlamFullPath()
    Dim proj As Object
    For Each proj In Application.VBE.VBProjects
        If InStr(proj.Filename, kMyXlamFileName) <> 0 Then
            GetMyAddInFullPath = proj.Filename
            Exit Function
        End If
    Next
    GetMyAddInFullPath = ""
End Function

ThisProject.Filepathみたいな感じで簡単に取れるかと思いきや、存在するVBProjectを全舐めする方法しか見つからなかった…(´・ω・`)。自身の名前をリテラルでコード内に持ってるのがイケてないが、もしxlamファイル名を変えたらExcelのアドイン設定をし直さなきゃならんので、そう易易と変えることは無いだろうってことで。

「実行時エラー'1004': プログラミングによるVisual Basicプロジェクトへのアクセスは信頼性に欠けます」エラーが出た場合は、Excelのファイル>オプション>セキュリティセンター>セキュリティセンターの設定から、マクロの設定>VBAプロジェクトオブジェクトモデルへのアクセスを信頼する、にチェックを入れるべし。

参考サイト

Comments




blog/2017/2017-12-21.txt · 最終更新: 2017-12-21 18:55 by decomo
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0