質問: 標準モジュールを削除したい。(vba) vbaで、vbaの標準モジュールを削除したいのですが、なかなか出来ません。たぶん、コレクションについての認識があまいからだと思います。vbcomponents コレクションのobject.remove(component)のヘルプには、vbprojects コレクションには、スタンドアロン プロジェクトを指定します。とありますが、そもそもスタンドアロンプロジェクトって何ですか?application.vbe.vbprojects(4).vbcomponents(1).とするとコレクションでなくなってしまいますが、どうやってモジュールと特定するのでしょうか?どなたか詳しい方いらっしゃいましたらご指導願います。よろしくお願いいたします。 vbideのライブラリーです。
回答: こんばんは。 vbaで、vbaのコードを扱うのは、ある程度vbaをマスターしてからの方がベターだと思うのですが、色々質問され懸命にvbaを学ぼうとされているようなので、シンプルなサンプルをひとつ。 先ず、新しいブックのシートモジュール、標準モジュール、それからuserformに適当なコードを書いおきます。 そして以下のコードを同じブックの標準モジュールに書いて実行すると、標準モジュールだけが全て削除されます。 sub codedelete() dim obj as object for each obj in thisworkbook.vbproject.vbcomponents with obj if .type = 1 then application.vbe.activevbproject.vbcomponents.remove obj end if end with next obj end sub 尚、これを2002以降で実行する時は、マクロ「セキュリティ」ダイアログで、「visual basic projectへのアクセスを信頼する」にチェックを入れてから実行すること。 それから以前似たような質問に答えてありますので以下のurlも覗いてみてください。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1347061 後は自力で!・(^^;;; 以上です。