VBからExcelマクロを削除するには?

解決


TOMO  2007-02-10 23:52:40  No: 97992

お世話になります。
マクロ(Module1)を含むExcelブックから、マクロを削除したいのですが(マクロのコードだけを消すのではありません)
下記では「ERROR438 オブジェクトはこのプロパティまたはメソッドをサポートしていません。」のエラーになります。
メソッドの使用法・他の手段など、よろしくご教示ください。
環境:VB6 Excel2003

VBコード:
xlBookは対象ブックのオブジュクトです。

Public Sub subDeleteMacro()
   Dim objVBCOMP As Object

   For Each objVBCOMP In xlBook.VBProject.VBComponents
      With objVBCOMP.CodeModule
         If .Name = "Module1" Then
            .Remove objVBCOMP 'モジュールを削除(エラー)
         End If
      End With
   Next objVBCOMP
      
End Sub


大吉末吉  2007-02-13 21:06:19  No: 97993

>    With objVBCOMP.CodeModule
>  .Remove objVBCOMP 'モジュールを削除(エラー)
これでは、

> objVBCOMP.CodeModule.Remove objVBCOMP 
の意味になってしまうのでは?

「xlBook.VBProject.VBComponents」から削除しなくてはならないのでは・・・

> xlBook.VBProject.VBComponents.Remove objVBCOMP 
とか・・・


TOMO  2007-02-14 00:26:12  No: 97994

大吉末吉様
ご指摘ありがとうございます。自分の書いたコードには先入観があるようで、なかなか気が付きませんでした。以後、教訓といたします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加