【VBA】使用しているワークブックのパスを取得する

エクセル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