FileSystemObjectのGetParentFolderNameメソッド
FileSystemObjectのGetParentFolderNameメソッドは、引数のパスの親フォルダを返します。
引数のファイルパスやフォルダパスは文字列として判定を行うため、実際に存在していなくても問題ありません。
FileSystemObjectの他のメソッドやプロパティは「FileSystemObjectとTextStreamのメソッド・プロパティ一覧」をご参照ください。
構文
Function GetParentFolderName(Path As String) As String
Path | ファイルパスやフォルダパスを指定します。存在しないパスも指定できます。 |
戻り値 | 引数のパスの親フォルダを返します。親フォルダが存在しない場合やパスとして認識できない場合は空文字列””を返します。 |
事前設定
以下のサンプルコードでは参照設定でFileSystemObjectクラスを利用できるようにしています。
FileSystemObjectクラスを利用するには、事前にVBA画面→ツールメニュー→参照設定、を選択し、参照設定ダイアログで「Microsoft Scripting Runtime」にチェックを付けます。
詳細は「VBAでのFileSystemObjectとTextStreamの使い方」の事前設定をご参照ください。
サンプルコード
各種ファイルパスやフォルダパスから親フォルダを取得して出力するサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub FileSystemObjectGetParentFolderName() Dim fso As New FileSystemObject '// FileSystemObjectクラス Dim sPath As String '// 戻り値 '// アクティブブックのフォルダパス sPath = fso.GetParentFolderName(ActiveWorkbook.Path) Debug.Print ActiveWorkbook.Path & " - " & sPath '// アクティブブックのファイルパス sPath = fso.GetParentFolderName(ActiveWorkbook.FullName) Debug.Print ActiveWorkbook.FullName & " - " & sPath '// 存在しないパス sPath = fso.GetParentFolderName("ZZ:\aaa\bbb") Debug.Print "ZZ:\aaa\bbb" & " - " & sPath End Sub |
実行結果
C:\aaa\bbb\ccc – C:\aaa\bbb
C:\aaa\bbb\ccc\test.xlsm – C:\aaa\bbb\ccc
ZZ:\aaa\bbb – ZZ:\aaa