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

Sub bookname()
MsgBox ActiveWorkbook.Name
End Sub

マクロが記載されているこのブックの名前を取得したい場合は、こちらのコードになります。
このマクロは、自分自身を参照します。現在マクロが記述されているブックです。

Sub thisbookname()
MsgBox Application.ThisWorkbook.Name
End Sub

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


もしフルパスで名前が欲しい時は、wbook.Name を wbook.FullName のように変更してください。
Nameプロパティは、ブックの名前を返します。FullNameプロパティは、ブックのパスとファイル名を合わせたフルパスを返します。

Nameプロパティは、ブックの名前を返します。FullNameプロパティは、ブックのパスとファイル名を合わせたフルパスを返します。
Sub 開いているブックの名前をぜんぶ調べる()
Dim wbook As Workbook
For Each wbook In Workbooks
Debug.Print wbook.FullName
Next wbook
End Sub
開いているブックの名前一覧がフルパスで取得できます。

スポンサーリンク
スポンサーリンク