- ベストアンサー
モジュールシートの置換え等をExcelVBAでできるのでしょうか。
ExcelVBAにより、「VBAの内容を変更する」ことができるということを聞いたことがあります。それは本当に可能なのでしょうか。 例えば、モジュールシートを含んだ「コピー元.xls」と「変更.xls」という2つのファイルがあるとして、変更.xlsのモジュールシートをコピー元.xlsのモジュールシートに置き換えることなどできるのでしょうか。それは、置き換え前のモジュールシートが含まれる変更.xlsにVBAを記述してもできるのでしょうか。 もしできるのであれば、VBAの書き方をお教えいただけないでしょうか。よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
' 各コードモジュールの先頭にコメントを追加。 Public Sub CommentSample() Dim m As Object For Each m In ThisWorkbook.VBProject.VBComponents Call m.CodeModule.InsertLines(1, "' サンプル") Next m End Sub などと CodeModule を操作して、コードを読み取ったり変更したり できます。 もっと不純なコードが書けると思います。だから(?)、 Excel 2002(XP?) からは、セキュリティの設定を変更しないと できません。
お礼
VBProjectやVBComponents、CodeModuleなど知らない単語ばかりで難しかったですが、うまく思い通りのマクロが書けました。 ありがとうございました。 またよろしくお願いします。