配布用ブックのマクロを消す方法は?

Question 90.2 Previous Next
お世話になります。 こちらのページを参考にさせていただき、自分なりにマクロなども組んで使用しております。
最近ではファイルごと相手先に送る機会も増え、マクロを消してから送っておりますが、一括にてマクロを消せないものでしょうか?
いろいろ試してみてはいるのですが、方法が見つけられません。 ご教授よろしくお願いいたします。
(Excel2007 & WinXP)
Answer   Copyright (C) 2008.7.30 永井善王
「一括にてマクロを消せないものか」の意味が理解できないので、回答が見当違いになるかも知れませんが、大きく分けると 2つの方法が考えられます。
ただし、どちらの方法も、ユーザーフォームやシート等のイベントマクロを使っていなくて、ユーザーには結果データだけを提供すればよいという場合に限られます。

1.Excelシートだけを新しいブックへコピーして配布する
発想を、「マクロを消す」から、「Excelシートだけの配布用ブックを作成」 に切り替えられることをお勧めします。
方法は簡単です。ブックを開いておいて、下記コードを実行すれば、すべてのシートが新しいブックにコピーされるはずです。
Sheets.Copy
その新しいブックに名前を付けて保存し、そのブックを配布します。

2.標準モジュールを解放してから配布する
このHPでも「
VBProjectにアクセスする」として若干紹介していますが、Visual Basicプロジェ クトへアクセスして標準モジュールを解放するマクロを作成すれば、できなくはありません。
しかし、
ウィルス対策のためには危険な行為ですからお勧めは致しません。

どうしても知りたいようでしたら、下記ページの taocatさんのマクロ「
CodeDelete」が参考になるかも知れません。
が、それを実行すると、Excel2007の標準環境では右図のエラーが表示されます。
その場合、[Excelのオプション]の[開発者向けのマクロ設定]を許可するように設定すれば実行できるようになるはずですが、くれぐれも
自己責任で行ってください。 実行後は必ず、設定を戻しておきます。

 

Excel VBA Macro