
FolderオブジェクトのSubFoldersプロパティについてです。
SubFoldersプロパティ
概要
非表示やシステムのファイル属性が設定されたものを含め、指定したフォルダーに含まれるすべてのフォルダーから構成されるFoldersコレクションを返します。
構文
FolderObject.SubFolders
VBAサンプル
下記のパスのサブフォルダー名を全取得する例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Sub test() 'FileSystemObjectをセット Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") 'FolderオブジェクトをFileSystemObjectのGetFolderメソッドでセット Dim fol As Folder Set fol = fso.GetFolder("D:\FSO\フォルダー1") 'FilesコレクションをFolderオブジェクトのSubFoldersプロパティでセット Dim fc As Object Set fc = fol.SubFolders 'For Eachで繰り返しフォルダー名を取得 For Each fol In fc Debug.Print fol.Name Next End Sub |
下記のような短縮した書き方でもOKです。
1 2 3 4 5 6 7 8 9 10 11 | Sub test2() Dim fso As Object, fc As Object Dim fol As Folder Set fso = New Scripting.FileSystemObject Set fc = fso.GetFolder("D:\FSO\フォルダー1").SubFolders For Each fol In fc Debug.Print fol.Name Next End Sub |
【結果】
フォルダー名が全取得できます。