ファイル名を取得する記述方法には2つあります。それぞれについて説明します。
【目次】
構文
記述方法は、以下の通りとなります。
(1)ThisWorkbookの記述方法
=======================================================
ThisWorkBook.Name
=======================================================
[説明]:
現在マクロ(VBA)を実行しているファイル名を取得するには「ThisWorkBook.Name」と記述します。内容を纏めると、「マクロを実行しているこのファイル名を取得して下さい。」との意味になります。
(2)ActiveWorkBookの記述方法
=======================================================
ActiveWorkBook.Name
=======================================================
[説明]:
現在表示(アクティブ)されているファイル名を取得するには「ActiveWorkBook.Name」と記述します。内容を纏めると、「現在表示(アクティブ)されているファイル名を取得して下さい。」との意味になります。※ブックを複数開いている場合、その中で選択されている(アクティブ)になっているファイル名を取得します。
使い方
使い方について具体的に説明していきます。
ThisWorkbookの使い方
ThisWorkbookの使い方について説明します。
[プログラミング例]:
-------------------------------------------------
Sub サンプル()
MsgBox ThisWorkbook.Name
End Sub
-------------------------------------------------
内容は、「マクロを実行しているこのファイル名を取得し、結果をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
ThisWorkbookの使い方についての説明は以上です。
ActiveWorkBookの使い方
ActiveWorkBookの使い方について説明します。
[プログラミング例]:
-------------------------------------------------
Sub サンプル()
MsgBox ActiveWorkbook.Name
End Sub
-------------------------------------------------
内容は、「現在表示(アクティブ)されているファイル名を取得し、結果をMsgBoxで表示して下さい。」との意味になります。
※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。
[実行例]:
[サンプル]:
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。
ActiveWorkBookの使い方についての説明は以上です。
おわりに
ThisWorkbookとActiveWorkBook共に結果は同じように見えますが、違いとしては、ThisWorkbookは現在マクロが実行されているファイル名が取得され、ActiveWorkBookは現在表示(アクティブ)されているファイル名が取得されます。似ている様で意味が違うため、間違った使い方をしない様に注意して下さい。