Vba を使用してワークブック名を取得する方法 (例付き)
VBA で次のメソッドを使用して、Excel ブックの名前を取得できます。
方法 1: アクティブなワークブック名を取得する
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
この関数は、 my_vba_workbook.xlsmなどのアクティブなワークブックの名前を返します。
方法 2: 拡張子なしでアクティブなブック名を取得する
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
この関数は、 my_vba_workbookなどの拡張子を除いたアクティブなワークブックの名前を返します。
次の例は、 my_vba_workbook.xlsmという現在アクティブな Excel ブックで各メソッドを実際に使用する方法を示しています。
例 1: アクティブなワークブックの名前を取得する
次の関数を作成して、アクティブなワークブックの名前を取得できます。
Function GetWorkbookName() As String GetWorkbookName = ActiveWorkbook.Name End Function
次に、セルA1に次の数式を入力して、アクティブなブックの名前を取得します。
=GetWorkbookName()
次のスクリーンショットは、この式を実際に使用する方法を示しています。
数式がmy_vba_workbook.xlsmを返すことがわかります。これは、使用している現在アクティブなワークブックの名前です。
注: 拡張子.xlsmは、マクロが有効な Excel ワークブックを表します。
例 2: 拡張子なしでアクティブなワークブック名を取得する
次の関数を作成して、拡張子なしでアクティブなワークブックの名前を取得できます。
Function GetWorkbookName() As String GetWorkbookName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, " . ") - 1) End Function
次に、セルA1に次の数式を入力して、アクティブなブックの名前を取得します。
=GetWorkbookName()
次のスクリーンショットは、この式を実際に使用する方法を示しています。
この数式がmy_vba_workbookを返すことがわかります。これは、現在アクティブなワークブックの名前であり、拡張子.xlsmを除いたものです。
注: Left関数とInstr関数を使用すると、ワークブック名からドットの左側にあるすべての文字を抽出できます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA を使用してフォルダーを作成する方法
VBAを使ってフォルダを削除する方法
VBAを使用してファイル名を変更する方法
VBAを使用してファイルが存在するかどうかを確認する方法