📘 Excel逆引き事典

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

日々の業務で大量のファイルを扱っていると、特定のフォルダ内の全ファイル名を一覧化したいことがあります。この記事では、Excel VBAを使って指定したフォルダ内の全ファイル名を完全一致で配列に格納する方法を紹介します。これにより、効率的なデータ管理が可能になります。

サンプルコード

VBA
Option Explicit
Sub GetFilesInFolder()
    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim filesArray() As String
    Dim i As Integer
    
    ' フォルダパスを指定
    Const FolderPath = "C:\Users\YourUsername\Documents"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(FolderPath)
    ReDim filesArray(folder.Files.Count - 1)
    i = 0
    For Each file In folder.Files
        ' 完全一致でファイル名を配列に格納
        filesArray(i) = file.Name
        i = i + 1
    Next file
    
    ' 配列の内容を表示(デバッグ用)
    Debug.Print Join(filesArray, vbCrLf)
End Sub

よくある質問

Q 元に戻せますか?

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

Q エラーが出たら?

A.
フォルダパスやファイル名に誤りがないか確認してください。また、アクセス権限があるかも確認しましょう。