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

VBAで、VBAの標準モジュールを削除したいのですが、なかなか出来ません。たぶん、コレクションについての認識があまいからだと思います。VBComponents コレクションのobject.Remove(component)のヘルプには、VBProjects コレクションには、スタンドアロン プロジェクトを指定します。とありますが、そもそもスタンドアロンプロジェクトって何ですか?Application.VBE.VBProjects(4).VBComponents(1).とするとコレクションでなくなってしまいますが、どうやってモジュールと特定するのでしょうか?どなたか詳しい方いらっしゃいましたらご指導願います。よろしくお願いいたします。
VBIDEのライブラリーです。

A 回答 (1件)

こんばんは。



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

後は自力で!・(^^;;;
以上です。

 
    • good
    • 0
この回答へのお礼

早速のご指導有難うございます。
オブジェクト思考!理解したつもりで、全く解っていない!!ヘルプが読めるようになったつもりで、全く読むことが出来ない!自分を痛感しました。
本当に有難うございます。今後ともよろしくお願いいたします。
与えていただいた内容を肝に銘じ自己研鑽に励みたく思います。有難うございました。

お礼日時:2005/11/25 20:31

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A