• ベストアンサー

フォルダ内のファイルに順番にマクロ実行(VBA)

こんにちは。 いつもこのサイトにはお世話になっています。  いま、WORDマクロで、あるプログラムを作成したのですが、現在の状態だと、ファイルにマクロを実行させたい場合、そのファイルを開いてマクロを実行するしかありません。  そうではなくて、指定されたフォルダの中にあるファイルのうち、rtf拡張子で終わっているものに順番に自動的にマクロを実行するというようなプログラムは書けないのでしょうか。  プログラムのなかに、ファイルのパスを指定してそのファイルに実行する方法は分かったのですが、フォルダだけ指定しておいて(というよりユーザにテキストボックスで指定させて)、そのフォルダに入っているrtfファイルすべてにマクロを実行する方法はありますでしょうか?    もしありましたら教えていただいたいと思い投稿しました。よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

ある指定したフォルダ内の、ファイル名が全て捉えられれば良いのでしょう。 そうであれば下記を参考に。誤解していたら済みません。 Sub test02() Const sPATH = "c:\My Documents\" 'ファイルの保管場所 Dim sFILENAME As String 'ファイル名 sFILENAME = Dir(sPATH & "*.doc") 'ファイルのパスと種類を指定 While sFILENAME <> "" '空文字以外の場合ループ MsgBox "ファイル名 " & sFILENAME sFILENAME = Dir() '引数無しのDir関数を呼び出すと次のファイル名を返す Wend End Sub

crooked_man
質問者

お礼

いただいたコードで試したら、うまくいきました。 1ヶ月くらい、悩んでいたので、 たいへん助かりました。 お世話になりました!

crooked_man
質問者

補足

ありがとうございます。 フォルダ内のファイルの一覧が手に入れば、それらにぜんぶマクロを実行すればいいので、できると思います。 Dirはそういうふうにも使えるんですね、しりませんでした。さっそく、試してみます。 どうもありがとうございます!

その他の回答 (1)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.2

何がしたいのかよく分からないのですが、下記サンプルを参考に各ファイルに何かをされて下さい。 フォルダを指定して、そのフォルダのファイル一覧を取得するサンプル。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html ExcelVBAでWord(.doc)ファイルを操作する(2) http://members.at.infoseek.co.jp/kenchan_h/index21.html

crooked_man
質問者

補足

どうもありがとうございます。 フォルダのファイル一覧が取得できれば、あとは問題ないと思います。どうもありがとうございました!

関連するQ&A