エクセルVBAでよく使うコードの備忘録。現在使用しているワークブックのパスを取得するコード。ThisWorkbookオブジェクトのプロパティを使えば簡単に取得できます。
ThisWorkbookオブジェクト
VBAのエディタにはデフォルトでプロジェクトエクスプローラーが表示されていると思います(表示されていない場合は、メニューの「表示」から表示させられます)。ここを見ると、Microsoft Excel Objectsというカテゴリーがあることがわかると思います。この中に、下記のような「ThisWorkbook」というオブジェクトがあります。これが、現在VBAを書いているワークブックを表すオブジェクトです。このThisWorkbookオブジェクトにはワークブックの情報が格納されており、プロパティを使ってブックのパスを取得することが可能です。
サンプルコード
下記のサンプルコードは、「Path」プロパティと「FullName」プロパティを使用して、現在使用しているワークブックのフォルダとフルパスを取得しています。
- Path:ブックの保存フォルダ
- FullName:ブックのフルパス
サンプルコード
Public Sub GetThisWbPath()
'--- ブックの保存フォルダを取得 ---'
Dim strFolderPath As String
strFolderPath = ThisWorkbook.path
'--- ブックのフルパスを取得 ---'
Dim strFilePath As String
strFilePath = ThisWorkbook.FullName
End Sub