• 締切済み

マクロを直接外部に読み出したい

exel2000をwinXP SP2で使っています。 マクロを修正する際、今までは 該当するエクセルのファイルを開き、そのファイル上でVisual Basic Editorのアイコンをクリック、その中で必要なModuleを探し出し修正していました。 今回の修正作業は、修正しなければいけないエクセルのファイルが500くらいあり、しかも結構重いファイルのため、エクセルを開くだけでかなり時間を食ってしまいます。 そこで質問なのですが、エクセルのファイルをいちいち開かず、直接マクロのモジュールにアクセスする方法はないでしょうか。 どこかにしまってあるだろうと思い、いろいろ検索をかけたのですが見つかりません。 よろしくお願いします。

みんなの回答

  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

こんにちは。 >エクセルのファイルをいちいち開かず、直接マクロのモジュールにアクセスする方法 もし、500のファイルのマクロが同じ記述で有れば、メモ帳などで編集して *.bas 形式で保存してインポートさせていけば、コピー&ペーストよりは多少マシかもしれません。あとは、これを機にアドイン化して1個のマクロファイルにする方法もあります。 たとえば、マクロでマクロを一気に編集するということでしたら、できないことも無いでしょうが、マクロウイルスの作り方と同じなので、ここでは回答者が回答を控えると思われます。

gogo2500
質問者

お礼

早々と回答いただきありがとうございます。 ファイルは全て異なった機能ですし、マクロも異なっています。 あきらめて手作業で取り掛かります。 ありがとうございました。

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.1

厳しいですね。 それぞれのブックに既に記述してしまっている場合、 xlsファイルの中にマクロが保存されているはず。 xlsの形式を完璧に理解した上でバイナリを操作すれば書き換えることができるかもしれませんが、 現実的ではありません。(適当に書き換えるとファイルが壊れます) xla形式のアドインを共通関数のブックとして参照していれば、 アドインだけ直せばいいんですけど。 今後はそういう工夫をしたほうがいいでしょう。 500あるファイルって、それぞれが違う機能を持ってたりするんですか?

gogo2500
質問者

お礼

早々と回答いただきありがとうございます。 ファイルは全て異なった機能ですし、マクロも異なっています。 あきらめて手作業で取り掛かります。 ありがとうございました。

専門家に質問してみよう