【VBA】特定のフォルダ内の全ファイルをエラー処理付きで抽出する方法
日々の実務で大量のファイルを手作業で確認するのは大変ですよね。特に特定のフォルダ内の全ファイルを一覧にまとめたい場合、時間がかかるだけでなくミスも増えるでしょう。この記事では、VBAを使用して簡単に解決策をお伝えします。
サンプルコード
VBA
Option Explicit
Sub ExtractFiles()
Dim fso As Object, folder As Object, file As Object
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Application.ScreenUpdating = False
On Error GoTo ErrorHandler
'フォルダオブジェクトを作成
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\指定のフォルダパス")
Dim i As Integer, lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row + 1
For Each file In folder.Files
ws.Cells(lastRow, 1).Value = file.Name
ws.Cells(lastRow, 2).Value = file.Path
lastRow = lastRow + 1
Next file
Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。また、フォルダパスが正しく指定されているかも確認しましょう。