📘 Excel逆引き事典

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

日々の業務で大量のファイルを扱う際、一つ一つ手作業で処理するのは労力と時間を要します。この記事では、特定のフォルダ内の全ファイル名を高速に配列に格納するVBAマクロを作成し、効率的な業務遂行をサポートします。

サンプルコード

VBA
Option Explicit
Sub GetFilesToArray()
    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim files() As String
    Dim i As Long
    
    ' フォルダパスの指定
    Const FolderPath = "C:\YourFolderPath"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(FolderPath)
    ReDim files(folder.Files.Count - 1) As String
    i = 0
    For Each file In folder.Files
        files(i) = file.Name
        i = i + 1
    Next file
    
    ' 配列の内容を表示(デバッグ用)
    Debug.Print Join(files, vbCrLf)
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスやファイル名が正しいことを確認してください。また、アクセス権限があるかもチェックしましょう。