ファイル名を取得するのに、文字列関数を操作して取り出しましたが、一発で取り出せる関数もあるようで
す。
FSO と呼ばれるものを使う方法で、詳細は、諸兄のHPに譲りたいと思いますが,
(fPath は目的のファイルまでのファイル名を含んだフルパス)
Dim FSO, PathName As String, FileName As String
Set FSO = CreateObject(“Scripting.FileSystemObject”)
FileName = FSO.GetFileName(fPath)・・・・・・ファイル名だけを取り出す。
PathName = FSO.GetParentFolderName(fPath)・・・・・・パスだけ取り出す。
ただ自分自身(マクロを記載したBOOK)の場合は次のようにして求めるようです。
ThisWorkbook.Name・・・・自分自身のファイル名
ThisWorkBook.FullName・・・自分自身のフルパス
ちなみに、
FileName = FSO.GetFileName(ThisWorkbook)・・・・エラー
のようにファイル名を求めようとするとエラーになります。VBA が良く分かっている方ならこんなことなさ
らないのでしょうがまだまだ勉強中の私にとって、ちょっと ? になります。ただ、下記のようにするとき
ちんとファイル名を求められます。でも、ThisWorkbook.Name でファイル名を求めることができるので、
意味ないですね。
FileName = FSO.GetFileName(ThisWorkbook.FullName)・・・取得可
ただ、自分自身(マクロが書かれているファイル)のファイル名を求める場面は、それほど多くないかなと思います。