ファイルの拡張子を取得

ファイル名から拡張子を取得する。

ファイルパスから拡張子の部分だけ取得するにはFileSystemObjectのgetExtentNameメソッドを利用します。

getExtentNameメソッドを利用した場合、パスやファイルは実際に存在していなくても値が返されます。
引数の文字列から拡張子に相当する部分を取得するような形になります。

'******************************************************************
' パスからファイルの拡張子だけを取得
'******************************************************************
Sub Main_getExtensionName()

    '対象のファイルパス
    Dim sFilePath As String
    sFilePath = "C:\VBA\ExcelVBA.xlsm"
    
    '拡張子を取得
    Dim sFileExtent As String
    sFileExtent = getStrExtensionName(sFilePath)
    
    Debug.Print "フルパス:" & sFilePath
    Debug.Print "拡張子 :" & sFileExtent
    
End Sub

'******************************************************************
' ファイルの拡張子を取得(FileSystemObject)
'------------------------------------------------------------------
'  第1引数:パス、ファイル名の文字列
'------------------------------------------------------------------
'  戻り値 :拡張子
'******************************************************************
Function getStrExtensionName(getPath As String) As String
    
    'FileSystemObjectの作成
    Dim oFso As Object
    Set oFso = CreateObject("Scripting.FileSystemObject")
    
    '拡張子を取得
    getStrExtensionName = oFso.GetExtensionName(getPath)
    
    Set oFso = Nothing
    
End Function

 ■実行結果