パスから拡張子を含めたファイル名を取得する。
パスから拡張子を含めたファイル名を取得するにはFileSystemObjectのgetFileNameメソッドを利用します。
getFileNameメソッドを利用した場合、パスやファイルは実際に存在していなくても値が返されます。
引数の文字列からファイル名に相当する部分を取得するような形になります。
'******************************************************************
' フルパスからファイル名を取得
'******************************************************************
Sub Main_getFileName()
'対象のファイルパス
Dim sFilePath As String
sFilePath = "C:\VBA\ExcelVBA.xlsm"
'ファイル名(拡張子含む)を取得
Dim sFileName As String
sFileName = getStrFileName(sFilePath)
'実行結果
Debug.Print "フルパス :" & sFilePath
Debug.Print "ファイル名 :" & sFileName
End Sub
'******************************************************************
' ファイル名を取得(FileSystemObject)
'------------------------------------------------------------------
' 第1引数:パスの文字列
'------------------------------------------------------------------
' 戻り値 :ファイル名+拡張子
'******************************************************************
Function getStrFileName(getPath As String) As String
'FileSystemObjectの作成
Dim oFso As Object
Set oFso = CreateObject("Scripting.FileSystemObject")
'ファイル名を取得
getStrFileName = oFso.getFileName(getPath)
Set oFso = Nothing
End Function■実行結果



