アクティブなブック名を取得する

マクロとは

アクティブなブック名を取得する3行マクロ 58回

ブック名を取得する

複数のファイルを開いている時など、アクティブなブック名を知りたい場合があります。 今回の3行マクロでは、アクティブブックの名前を取得します。
また複数のブックを開いている時に、すべてのブック名一覧を取得するマクロも作りましょう。
(サンプルファイルは、こちらから 3行マクロ58回サンプルデータ
Excelバージョン:Excel2016201320102007

アクティブなブックの名前を取得

アクティブなブックの名前を取得したい時は、Nameプロパティを使います。
Sub bookname()
	MsgBox ActiveWorkbook.Name
End Sub
    
ブック名を取得するマクロ2
マクロが記載されているこのブックの名前を取得したい場合は、こちらのコードになります。 このマクロは、自分自身を参照します。現在マクロが記述されているブックです。
Sub thisbookname()
	MsgBox Application.ThisWorkbook.Name
End Sub
    
ブック名を取得するマクロ1

開いているブックの名前一覧を取得するマクロ

現在開いているブックの名前をすべて取得するには、For Each・・・Nextステートメン卜を使って、 ブックの名前を調べます。
それを表示させるために、Debug.Printという命令を使います。 これは、VBAのプログラムでさまざまな情報をイミディエイトウィンドウに出力する命令です。3行マクロ 51回で使いました。
Sub 開いているブックの名前をぜんぶ調べる()
  Dim wbook As Workbook
  For Each wbook In Workbooks
  Debug.Print wbook.Name
  Next wbook
End Sub
    
マクロを実行すると、イミディエイトウィンドウにファイル名が表示されます。
ブック名を全部取得するマクロ3

ブックの名前、フルパスが欲しい時につかうマクロ

もしフルパスで名前が欲しい時は、
wbook.Name を wbook.FullName のように変更してください。
Workbook.Name プロパティプロパティは、ブックの名前を返します。
Workbook.FullName プロパティは、ブックのパスとファイル名を合わせたフルパスを返します。
Workbook.Path プロパティは、ブック/ファイルへの完全なパスを返します。
Sub 開いているブックの名前をぜんぶ調べる()
  Dim wbook As Workbook
  For Each wbook In Workbooks
  Debug.Print wbook.FullName
  Next wbook
End Sub
    
開いているブックの名前一覧がフルパスで取得できます。
ブック名を全部取得するマクロ4