VBAで
・ファイル名を取得
できます!
ここでは
・私が可読性が良いと考える方法
を記載します!
※実現方法は複数あります。
※可読性が良い方法を知っておけばよいです。
VBAコード
ここでは例として
・パス「C:\Users\user\Desktop\aiueo.txt」の
・ファイル名を取得
します。
※ファイル名である「aiueo.txt」を取得します。
Option Explicit
Sub sample()
Dim fso As Object
Dim filePath As String
Dim fileName As String
'ファイルのパスを指定
filePath = "C:\Users\user\Desktop\aiueo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
'ファイル名を取得
fileName = fso.GetFile(filePath).Name
MsgBox ("ファイル名 : " & fileName)
'後片付け
Set fso = Nothing
End Sub
実行結果
ファイル名を取得できました。
※ファイル名「aiueo.txt」を取得できました。
備考(Dir関数について)
「Dir関数」でもファイル名を取得できます。
Option Explicit
Sub sample()
Dim filePath As String
Dim fileName As String
'ファイルのパスを指定
filePath = "C:\Users\user\Desktop\aiueo.txt"
'ファイル名を取得
fileName = Dir(filePath)
MsgBox ("ファイル名 : " & fileName)
End Sub
参考①
マクロを実行しているExcelファイル(ブック)のファイル名を取得することもできます。
詳細は以下の記事をご確認ください。
参考②
ファイル名の拡張子のみを取得することもできます。
詳細は以下の記事をご確認ください。
参考③
指定したフォルダ配下のファイルの一覧を取得することもできます。
詳細は以下の記事をご確認ください。
参考④
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●「FileSystemObject」の「GetFile」メソッド
●「Fileオブジェクト」の「Name」プロパティ