
FolderオブジェクトのFilesプロパティについてです。
Filesプロパティ
概要
非表示のファイル属性とシステムファイル属性も含め、指定したフォルダーのすべてのFileオブジェクトのFilesコレクションを返します。
構文
FolderObject.Files
VBAサンプル
指定フォルダーの全てのファイル名と拡張子取得
FileオブジェクトのShortnameプロパティを使用するとファイル名と拡張子が取得できます。指定したフォルダーの全て取得する際は、今回のFolderオブジェクトのFilesプロパティでFilesコレクションを作成してForEachで繰り返し処理をすることでFileオブジェクトのShortnameプロパティを1つずつ取得できます。
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\Folder1") 'FolderオブジェクトのFilesプロパティでFilesコレクションをセット Dim fc As Object Set fc = fol.Files 'For EachでFilesコレクションのFileオブジェクトのShortNameプロパティを繰り返し取得 Dim f As File For Each f In fc Debug.Print f.ShortName Next End Sub |
これを簡略化して書くと下記のようにコードになります。
1 2 3 4 5 6 7 8 9 10 | Sub test2() Dim fso As Object, fc As Object, f As Object Set fso = CreateObject("Scripting.FileSystemObject") Set fc = fso.GetFolder("D:\FSO\Folder1").Files For Each f In fc Debug.Print f.ShortName Next End Sub |
【結果】
指定したフォルダーの全てのファイル名と拡張子が取得できます。