【VBA】フォルダ配下のファイル分繰り返す
スポンサーリンク
Dim fso As Object Dim folderPath As String Dim filePath As Object Set fso = CreateObject("Scripting.FileSystemObject") ' 「folderPath」配下のファイル数分繰り返す。 For Each filePath In fso.getFolder(folderPath).Files ' ' 繰り返し実行したい処理を記述する ' Next filePath
フォルダ配下のファイル分繰り返す
ここでは指定のフォルダ配下に存在するファイル分同じ処理を繰り返したい場合の処理について解説します。 方法は複数ありますが今回は他言語でも活用されることのあるForEach文を使います。
ForEach文では配列に対して1要素ずつ最後の要素になるまで変数に代入し繰り返しをします。
ForEach~Next文の中で
Workbooks.Open (filePath)
と記述すればfolderPath配下がエクセルファイルだけの場合はエクセルファイルを1つずつ開くことができます。
もっとも、繰り返し中に何をやるか考えるのが一番大変なことですが・・・。