ディレクトリを再帰的に検索し取得したファイル情報をエクセルに書き出す
エクセル VB に初挑戦、メソッド名とか変数名にやる気ゼロなのはご愛嬌。
Private Sub CommandButton1_Click() 'ディレクトリを指定する Dim openDir As String With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then MsgBox "終了します" Exit Sub End If openDir = .SelectedItems(1) End With Dim fs, f Dim Filename As String Set fs = CreateObject("Scripting.FileSystemObject") 'ファイルを検索 With Application.FileSearch .LookIn = openDir ' ディレクトリパスを指定 .SearchSubFolders = True ' 再帰的に検索 .Filename = "*.txt" ' 拡張子が txt のファイルのみをターゲットに。 If .Execute() > 0 Then ' 該当ファイルが1つ以上あるので書き出し用にシートをクリア ThisWorkbook.Sheets("Sheet1").UsedRange.Delete ' 取得したファイルリストの情報を一つずつ書き出す For i = 1 To .FoundFiles.Count Filename = .FoundFiles(i) Set f = fs.GetFile(Filename) ThisWorkbook.Sheets(1).Cells(i, 2) = Filename ThisWorkbook.Sheets(1).Cells(i, 3) = f.DateCreated ThisWorkbook.Sheets(1).Cells(i, 4) = f.DateLastModified ThisWorkbook.Sheets(1).Cells(i, 5) = FileLen(Filename) Next i Else MsgBox "ファイルがありません" End If End With End Sub
Windows のヘルプだけ見ながらプログラムを組む日がキターー
動くことだけ確認したけど、この記事はMacbook で書かれています。