📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルを取得する方法

日々の業務で大量のファイルを扱う場合、それぞれのファイル名や更新日時などを一覧化することは非常に効率的です。しかし手作業では時間がかかります。この記事では、Excel VBAを使用して特定フォルダ内の全ファイル情報を取得する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub GetFilesInFolder()
    Dim fso As Object, folder As Object, file As Object
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' フォルダパスを指定
    Dim folderPath As String: folderPath = "C:\Users\User\Documents"
    
    ' オブジェクトの初期化
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)
    
    ' ファイル情報を取得
    Dim i As Integer: i = 1
    For Each file In folder.Files
        ws.Cells(i, 1).Value = file.Name
        ws.Cells(i, 2).Value = file.DateLastModified
        i = i + 1
    Next file
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
フォルダパスやファイル名、列番号などが正しいか確認してください。