フォルダー内の複数のファイルをファイル名順に連続で処理する定番のマクロです。ExcelでもWordでも使用できます。
Const pathUSER as String = "C:\@test"
Const strFind As String = "*.xlsx"
Dim nameFile As String
'1番目のファイルを探す
nameFile = Dir(pathUSER & "\" & strFind)
Do While nameFile <> ""
'---------------------
'ファイルの処理
'ファイルパスは pathUser & "\" & nameFile
'---------------------
'次のファイルを探す
nameFile = Dir()
Loop
"*.xlsx"
「拡張子が xlsx のファイルすべて」という指定です。*
はファイル名を特定しないワイルドカードです。
Dir(
ファイルのパス)
、Dir()
ファイルが見つかった場合はファイル名の文字列を返します。見つからなかった場合は ""
(0文字テキスト)を返します。2回目以降ファイルのパスを指定しませんが、これで「前回のDirと同条件で探す」の意味になります。
Do
~ Loop
で、ファイルが見つからなくなるまで(""
が返されるまで)繰り返し行います。