PR
フォルダの操作

【Excel VBA】(Dir関数)フォルダ内のファイル名をリスト化する

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

コメント