📘 Excel逆引き事典

【VBA】特定のフォルダ内の全ファイルを開かずに配列に格納する方法

日々の業務の中で、大量のファイルを扱うことは珍しくありませんが、一つずつ開いて情報を抽出するのは大変です。この記事では、特定のフォルダ内の全ファイルを外部参照で配列に格納する方法を紹介します。これにより、労力を大幅に削減し、業務効率化を実現できます。

サンプルコード

VBA
Option Explicit
Sub GetFilesToArray()
    Dim folderPath As String, fileName As String
    Dim fileArray() As Variant
    Dim files As Object
    Dim fso As Object
    
    ' フォルダパスの設定
    folderPath = "C:\指定フォルダ\"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set files = fso.GetFolder(folderPath).Files
    
    ' 配列の初期化
    ReDim fileArray(1 To files.Count)
    i = 0
    For Each fileName In files
        i = i + 1
        fileArray(i) = fileName.Name
    Next fileName
    
    ' 結果表示(例)
    MsgBox "配列に格納されたファイル数: " & UBound(fileArray)
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスやファイル名に誤りがないか確認してください。