
FileSystemObjectのGetFolderメソッドについてです。
GetFolderメソッド
概要
指定したフォルダーのFolderオブジェクトを返します。
構文
FileSystemObject.GetFolder(folderspec)
GetFolderメソッドの引数
引 数 | 必須 / 省略可 | 詳 細 |
フォルダーパス | 必須 | ・フォルダーパスを指定。 ※指定したフォルダーが存在しない場合は、エラー。 |
VBAサンプル
サンプル1
FileSystemObjectのGetFolderメソッドはFolderオブジェクトを返すので、FolderオブジェクトのParentFolderプロパティで、指定したフォルダーの親フォルダーを取得する例。
1 2 3 4 5 6 7 8 9 | Sub test1() '変数 Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") '親フォルダーのパスを取得 Debug.Print fso.GetFolder("D:\FSO\フォルダー1").ParentFolder End Sub |
【結果】
D:\FSO
サンプル2
FileSystemObjectのGetFolderメソッドはFolderオブジェクトを返すので、FolderオブジェクトのSubFoldersプロパティで指定したフォルダーのFoldersコレクションをセットして、ForEach~Nextで反復させてFolderオブジェクトのNameプロパティでフォルダー名を全取得する例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub test2() '変数 Dim fso As Object Dim fc As Folders Dim fol As Folder 'FileSystemObjectをセット Set fso = CreateObject("Scripting.FileSystemObject") 'GetFolderはFolderオブジェクトを返すのでFoldersコレクションをセット Set fc = fso.GetFolder("D:\FSO\フォルダー1").SubFolders '繰り返し処理(Foreach) For Each fol In fc 'FolderオブジェクトのNameプロパティでフォルダー名を取得 Debug.Print fol.Name Next End Sub |
【結果】
フォルダー名を全取得できます。