📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルをエラー処理付きで配列に格納する方法

日々の業務で大量のファイルを扱う際、手作業での管理は効率が悪くストレスを感じます。この記事では、特定のフォルダ内の全ファイル名を一括で取得し、エラー処理付きで配列に格納する方法を紹介します。

サンプルコード

VBA
Option Explicit
Sub GetFilesToArray()
    Dim folderPath As String, fileName As String
    Dim files() As String
    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim i As Long
    
    ' フォルダパスを指定
    folderPath = "C:\Users\username\Documents"
    
    ' エラー処理開始
    On Error GoTo ErrorHandler
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(folderPath)
    ReDim files(1 To folder.Files.Count)
    i = 0
    For Each file In folder.Files
        i = i + 1
        files(i) = file.Name
    Next file
    
    ' エラー処理終了
    On Error GoTo 0
    MsgBox "ファイル名を配列に格納しました。", vbInformation
    Exit Sub
ErrorHandler:
    MsgBox "エラーが発生しました: " & Err.Description, vbCritical
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスやファイル形式が正しいか確認してください。