実行中のブックのパスやファイル名は
・ThisWorkbook
により取得できます!
前提
ここでは例として、
・デスクトップ配下のファイル「sampl_001.xlsm」
にVBAコードを記述して実行します。
VBAコード
Sub sample()
'実行中のブックのパスやファイル名を取得
MsgBox "実行中のブックのパス:" & ThisWorkbook.Path & vbCrLf & _
"実行中のブックのファイル名:" & ThisWorkbook.Name
End Sub
実行結果
実行中のブックのパスやファイル名を取得できました。
参考①(ThisWorkbookについて)
「ThisWorkbook」は
・「Applicationオブジェクト」の「ThisWorkbook」プロパティを
・省略した記述方法
です。
※VBAには省略してもいいモノがいくつかあります。ThisWorkbookはその1つです。
よって以下のように
・「ThisWorkbook」の前に「Application.」を記載するのが正式な記述方法
です。
Sub sample()
'実行中のブックのパスやファイル名を取得
MsgBox "実行中のブックのパス:" & Application.ThisWorkbook.Path & vbCrLf & _
"実行中のブックのファイル名:" & Application.ThisWorkbook.Name
End Sub
ただ
・「Application.」を記述しないと可読性が低下する等は無い
ため、省略した記述方法で良いと考えます。
※多くの人も省略しています。正式な記述方法をしている人を私は見たことありません。
※むしろ省略したほうがスッキリして良いと考えます。
参考②
「ThisWorkbook」の詳細は、公式サイトをご確認ください。
参考③
指定したパスのファイル名を取得することもできます。
詳細は以下の記事をご確認ください。