プロが教えるわが家の防犯対策術!

エクセルVBAでVBAの修正は出来るのでしょうか?
あるエクセルファイルにマクロを組み込んでいます(ユーザーフォームも使用)。
このエクセルファイルを複数個フォルダ内にコピーしています。
このコピーした全てのファイルのマクロの修正をVBAで出来ないかと考えています。
修正箇所はモジュール内のコード修正、モジュールの追加、既存のユーザーフォームにボタン等の追加等です。
エクセルは2003を使用しています。
どなたか教えてください。

A 回答 (2件)

はじめまして



Excel の参照設定から「Microsoft Visual Basic for Applications Extensibility 5.3」をチェックします。

すると、VBProject を操作することができます。

Workbook に VBProject があるので

Dim VBP As VBProject
Set VBP = (Workbook オブジェクト).VBProject

で、この VBProject の中に VBComponents ってのがあるんで

Dim VBC As VBComponent

For Each VBC In VBP.VBComponents

Next

て具合に VBC オブジェクトを取得します。

この VBC オブジェクトの中に CodeModule ってのがあるんですわ。

With VBC.CodeModule

End With

この中で InsertLines とか DeleteLines とか CreateEventProc とかしてください。

ユーザーフォームはどうするんだったかなぁ…
VBComponents に Add メソッドがありますね。
そこに ComponentType As vbext_ComponentTYpe ってのがあります。
この中に vbext_ct_MSForm ってのが怪しいんですけど。
頑張ってみて下さい。
    • good
    • 0

考え方を変えて。



まず、変更するファイルを、別名でセーブします。旧ファイルと名づけます。

元ファイルと旧ファイルを開き、元ファイルの中身を変更します。

元ファイルを変更するファイル名でセーブします。

フォルダごとコピーして、十分テストして本番の実行をしてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!