Dir関数を使用して、フォルダ内のファイル名を取得するコードを紹介します。
事例は”C:\test”フォルダ内にあるファイル名をExcelにリスト化するコードです。
Sub Dir関数の例()
Dim FILE_name As String
Dim i As Integer
i = 1 '1行目から取得したファイル名を記入していく
FILE_name = Dir("C:\test\*.*") ' "C:\test"フォルダ内にあるファイル名を取得する
Do While FILE_name <> ""
Cells(i, 1).Value = FILE_name ' ファイル名を表示する
FILE_name = Dir ' 次のファイル名を取得する
i = i + 1 'セルを移動する
Loop
End Sub
実際はファイル名の取得だけではなく、その他の操作が必要になる場合が多いので”FolderSystemObject”を使用することが多いと思います。
以下に”FolderSystemObject”を使用して同じ結果となるコードを紹介します。
Sub フォルダシステムオブジェクトでファイル名リスト化()
Dim fso As Object
Dim FOLDER As Object
Dim FILE As Object
Dim i As Integer
i = 1 '1行目から取得したファイル名を記入していく
Set fso = CreateObject("Scripting.FileSystemObject")
Set FOLDER = fso.GetFolder("C:\test") '"C:\test"フォルダを対象とする
For Each FILE In FOLDER.Files '指定フォルダ内のファイル全てに処理を実行する
Cells(i, 1).Value = FILE.Name ' ファイル名をセルに記入する
i = i + 1 'セルを移動する
Next FILE
End Sub
コメント