VBA ファイルパスから最後のフォルダ名のみを取得する

  • 作成日 2022.07.14
  • vba
VBA ファイルパスから最後のフォルダ名のみを取得する

VBAで、ファイルパスから最後のフォルダ名のみを取得するコードを記述してます。

環境

  • OS windows10 64bit

最後のフォルダ名のみを取得

最後のフォルダ名のみを取得するには、「Scripting.FileSystemObject」などを使用します。

適当なボタンを用意して、パス「C:\hoge\test.xlsx」から「 hoge 」だけを取得して表示する
以下のソースコードを記述します。

Private Sub CommandButton1_Click()

    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Dim strFileName As String
    Dim strFolderName As String
    
    strFileName = "C:\hoge\test.xlsx"
    
    ' パスのみを取得
    strFolderName = objFSO.GetParentFolderName(strFileName) ' C:\hoge\test.xlsx
    
    ' 最後のフォルダパスを取得
    Cells(2, 2).Value = Right(strFolderName, Len(strFolderName) - InStrRev(strFolderName, "\"))
    
End Sub

実行してみます。

取得されていることが確認できます。