【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.
フォルダパスやファイル形式が正しいか確認してください。