- ベストアンサー
VBA ある位置にある全てのxlsに対してマクロ実行
あるフォルダ内の全てのxlsファイルに対して命令を実行するマクロを作成しています。 命令したいファイル群の、ブック名はバラバラ。シートは一つのみ。ファイル数は定まっていません。 ブック名や数が定まっているファイルに対して命令を実行するマクロなら作成したことがあるのですが、今回のようにあればある分だけ、命令を実行させるにはどのように記述すればいいのでしょうか? どうかよろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
回答No.1
お礼
ありがとうございます。 フォルダやファイル名を取得できる関数があったのですね。 大変参考になりました。