パスからファイル名を取得

パスから拡張子を含めたファイル名を取得する。

パスから拡張子を含めたファイル名を取得するには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

 ■実行結果