EXCEL VBA フォルダ名とファイル名が混在したフルパスからフォルダ名のみを取得
利用例
Debug.Print nstrフォルダ名を取得Fromフルパス("c:\") 'c:\ Debug.Print nstrフォルダ名を取得Fromフルパス("c:\aaa.txt") 'c:\ Debug.Print nstrフォルダ名を取得Fromフルパス("c:\aaa\") 'c:\aaa Debug.Print nstrフォルダ名を取得Fromフルパス("c:\aaa\aaa.txt") 'c:\aaa Debug.Print nstrフォルダ名を取得Fromフルパス("c:") '(LEN(0の文字))
' 機能 : フォルダ名とファイル名が混在したフルパスからフォルダ名のみを取得 ' ' 機能説明 : ドライブ直下(例 C:\)\まで含める。 ' ' 状態 : ' ' バージョン :2022/8/16 ' 公開URL :https://pgbigoroku.hatenablog.com/entry/2022/08/17/003818 Public Function nstrフォルダ名を取得Fromフルパス(ByVal pstr調査するフルパス As String) As String Const cstr円マーク As String = "\" Dim intInStrRev円マーク区切り位置 As Integer intInStrRev円マーク区切り位置 = InStrRev(pstr調査するフルパス, cstr円マーク) If intInStrRev円マーク区切り位置 = 0 Then nstrフォルダ名を取得Fromフルパス = "" Else nstrフォルダ名を取得Fromフルパス = Left(pstr調査するフルパス, intInStrRev円マーク区切り位置 - 1) If Len(nstrフォルダ名を取得Fromフルパス) = 2 Then nstrフォルダ名を取得Fromフルパス = nstrフォルダ名を取得Fromフルパス & cstr円マーク End If End If End Function