教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA ブック操作】マクロが実行されているファイル名を取得(ThisWorkBook.Name)するにはどうすればいいの?教えて!

構文

構文は以下の通りです。

ThisWorkbook.Name

解説

ThisWorkbook.Nameプロパティは、現在マクロが実行されているワークブックのファイル名を文字列として返します。このプロパティは、読み取り専用であり、ワークブックのファイル名を変更することはできません。

使い方

ThisWorkbook.Nameプロパティを使用すると、ワークブックのファイル名を取得することができます。以下で具体的な使い方を示します。

プログラミング例

例1:ワークブックのファイル名を表示する

Sub DisplayWorkbookName()
    MsgBox "The current workbook name is " & ThisWorkbook.Name
End Sub

この例では、MsgBox関数を使用して、ワークブックのファイル名を表示する方法を示しています。このコードを実行すると、メッセージボックスが表示され、現在アクティブなワークブックのファイル名が表示されます。

例2:ワークブックのファイル名に基づいて処理を実行する

Sub ProcessWorkbookByName()
    If ThisWorkbook.Name = "MyWorkbook.xlsx" Then
        '処理を実行する
    End If
End Sub

この例では、ThisWorkbook.Nameプロパティを使用して、ワークブックのファイル名に基づいて処理を実行する方法を示しています。このコードを実行すると、現在アクティブなワークブックのファイル名が"MyWorkbook.xlsx"と一致する場合に、処理を実行します。

まとめ

ThisWorkbook.Nameプロパティは、ExcelVBAの中でワークブックのファイル名を取得するために使用されます。このプロパティは、読み取り専用であり、ワークブックのファイル名を変更することはできません。ThisWorkbookオブジェクトのNameプロパティを使用することで、ワークブックのファイル名を取得することができます。