• ベストアンサー

VBA ある位置にある全てのxlsに対してマクロ実行

あるフォルダ内の全てのxlsファイルに対して命令を実行するマクロを作成しています。 命令したいファイル群の、ブック名はバラバラ。シートは一つのみ。ファイル数は定まっていません。 ブック名や数が定まっているファイルに対して命令を実行するマクロなら作成したことがあるのですが、今回のようにあればある分だけ、命令を実行させるにはどのように記述すればいいのでしょうか? どうかよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

エクセル VBA Dir関数で調べてみると良いです。以下サンプルです。 Sub Sample1() Dim buf As String buf = Dir(Range("A1").Value & "\*.xls")'A1にフォルダ名を入れておいてフォルダ内のエクセルのファイル情報が変数に入れます。 Do While buf <> "" Workbooks.Open Worksheets(1).Range("A1").Value & "\" & buf'ファイルをひとつ開く 'ここに実行したいVBAを記述します。 Workbooks(buf).Close SaveChanges:=False'ファイルを閉じる buf = Dir()'次のファイルに進みます。 Loop End Sub

JujuMay
質問者

お礼

ありがとうございます。 フォルダやファイル名を取得できる関数があったのですね。 大変参考になりました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

関連するQ&A

専門家に質問してみよう