【VBA】特定のフォルダ内の全ファイルをバックグラウンドで抽出する方法
日々の業務では、特定のフォルダから全ファイルを一括で取り出す作業が必要になることがあります。この記事では、Excel VBAを使用して指定したフォルダ内のすべてのファイルをバックグラウンドで抽出する方法を紹介します。これにより、手動での作業時間を大幅に短縮することができます。
サンプルコード
VBA
Option Explicit
Sub ExtractFilesInBackground()
Dim fso As Object
Dim folder As Object
Dim file As Object
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\指定フォルダパス")
Application.ScreenUpdating = False
i = 2 ' データの開始行を指定
For Each file In folder.Files
ws.Cells(i, 1).Value = file.Name
ws.Cells(i, 2).Value = file.Path
i = i + 1
Next file
Application.ScreenUpdating = True
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。