フルパスからパスを抜き出す
Windows形式のフルパス文字列からファイル名を除き、親フォルダーのパスを取得します。
実行前に確認
- 文字列の解析だけで、存在確認は行いません。フォルダーパスだけを渡すと、そのフォルダーの親が返る点に注意してください。
- WindowsのFileSystemObjectを使用します。参照設定は不要です。
1サンプルコード
Sub Example4002()
On Error GoTo Failed
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim fullPath As String
fullPath = "C:\Data\sample.xlsx"
MsgBox fso.GetParentFolderName(fullPath)
Exit Sub
Failed:
MsgBox "処理を中止しました: " & Err.Description
End Sub図で見る操作の流れ
イメージ図概念図:パスの文字列から親の部分だけを取り出します。
入力文字列
C:\Data\sample.xlsx
マクロ:文字列解析
GetParentFolderNameで最後の名前を除く
結果
C:\Data をメッセージ表示
実在のファイルやフォルダーは変化しません。存在確認も行いません。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版のデスクトップExcelで練習用ブックを.xlsm形式で保存します。Alt+F11→[挿入]→[標準モジュール]に、この例だけを貼り付けます。
- 2
fullPathをファイル名まで含むパスへ変更します。
- 3
実行するSubの内側にカーソルを置き、F5キーを押します。
- 4
例のままならC:\Dataと表示します。C:\sample.xlsxなら親フォルダーはC:\です。