ファイル名から拡張子を取得する。
ファイルパスから拡張子の部分だけ取得するには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■実行結果



