ray88’s diary

お仕事で困ったとき用の自分用の覚書

フルパスから拡張子なしのファイル名と拡張子を求める

※FileSystemObjectを事前バインディングする際は参照設定の
Microsoft Scripting Runtime」にチェックを入れる

Sub testGetFileInfo()

 Dim TargetPath As String
 Dim fileName As String
 Dim strExtension As String

 '------------------------------------------------------
 '遅延バインディングの場合
 Dim objFSO As Object
 Set objFSO = CreateObject("Scripting.FilesystemObject")
 '------------------------------------------------------
 '参照設定済の場合
 'Dim objFSO As Object
 '-----------------------------------------------------

 TargetPath = "C:\テスト.xlsx"

 '拡張子なしファイル名を取得
 fileName = objFSO.GetBaseName(TargetPath)

 '拡張子を取得
 strExtension = objFSO.GetExtensionName(TargetPath)

 'メッセージボックスに結果を表示
 MsgBox "ファイル名 : " & fileName & vbCrLf & _
     "フォルダパス: " & strExtension

End Sub

f:id:ray88:20200112155546p:plain