指定したフォルダに含まれるファイルの情報を得るには
FileSystemObjectオブジェクトを使用します。
FileSystemObjectオブジェクトは次のコードで作成します。
Set fs = CreateObject("Scripting.FileSystemObject")
変数fsに対してGetFolderメソッドを使用して
フォルダオブジェクトを変数fs_fldに格納します。
Set fs_fld = fs.GetFolder("フォルダの場所を指定")
変数fs_fldにはフォルダ内のすべてのファイルが含まれます。
次のコードでフォルダ内のすべてのファイルオブジェクトを
変数fs_fに格納します。
Set fs_f = fs_fld.Files
複数のファイルが格納された変数fs_fに対して
For Such文を使用して
各ファイルの情報を取得していきます。
取得できるファイルの情報については
次のMicrosoftのページのプロパティを参照してください。
File オブジェクト
次のコードは
変数f_pathで指定されたフォルダ内の
ファイル情報をリスト化します。
指定フォルダのファイル情報のリスト化するコード:
|
Sub macro20200510a() '指定フォルダのファイル情報のリスト化する
Dim fs, fs_fld, fs_f, f Dim f_path As String Dim i As Integer f_path = "C:\Users\username\Documents\" f_path = f_path & "\" i = 1 Sheets.Add Cells(1, 1) = "フォルダ内ファイルのリスト化" Cells(2, 1) = "パス:" & f_path Cells(4, 1) = "Attributes" Cells(4, 2) = "DateCreated" Cells(4, 3) = "DateLastAccessed" Cells(4, 4) = "DateLastModified" Cells(4, 5) = "Drive" Cells(4, 6) = "Name" Cells(4, 7) = "ParentFolder" Cells(4, 8) = "Path" Cells(4, 9) = "ShortName" Cells(4, 10) = "ShortPath" Cells(4, 11) = "Size" Cells(4, 12) = "Type" Set fs = CreateObject("Scripting.FileSystemObject") Set fs_fld = fs.GetFolder(f_path) Set fs_f = fs_fld.Files For Each f In fs_f Cells(i + 4, 1) = f.Attributes Cells(i + 4, 2) = f.DateCreated Cells(i + 4, 3) = f.DateLastAccessed Cells(i + 4, 4) = f.DateLastModified Cells(i + 4, 5) = f.Drive Cells(i + 4, 6) = f.Name Cells(i + 4, 7) = f.ParentFolder Cells(i + 4, 8) = f.Path Cells(i + 4, 9) = f.ShortName Cells(i + 4, 10) = f.ShortPath Cells(i + 4, 11) = f.Size Cells(i + 4, 12) = f.Type i = i + 1 Next f Cells.EntireColumn.AutoFit End Sub
|
使用Ver:Win10, Excel For Office365
コメント