VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2006/01/27(Fri) 13:39
投稿者花ちゃん
Eメール
URL
タイトルRe: VBよりExcelマクロの削除は可能でしょうか?

> これをVB6.0を利用してExcelマクロを削除することは可能でしょうか?
可能です。 下記に掲載されています。

415ブックに含まれているマクロをすべて削除する
hhttp://www.cbook24.com/bm_detail.asp?sku=99925364

又、下記でVBからExcelのマクロを作成する方法を解説されているので
そのコードを応用して作成するのではなく、.Remove してやれば削除できるかと
思います。
hhttp://www.bcap.co.jp/hanafusa/vbbbs/wforum.cgi?mode=allread&no=3815

ちょっと試して見ました。ご使用される場合は十分テスト願います。
Excel ファイルの読み込みは別途、マクロの削除部分のコードのみ
Excel の起動・終了は別途追加して下さい。
'-----------------------------------------------------------------
Dim i As Long
With xlBook.VBProject
    For i = .VBComponents.Count To 1 Step -1
        If .VBComponents(i).Type = vbext_ct_StdModule Then
            '標準モジュール以外はマクロの警告が表示されないので
            'UserForm 及び クラスモジュール はそのままで
            'If .VBComponents(i).Type <= 3 Then  'なら上記も削除
            .VBComponents.Remove .VBComponents(i)
        ElseIf .VBComponents(i).Type = vbext_ct_Document Then
            .VBComponents(i).CodeModule.DeleteLines 1, _
                    .VBComponents(i).CodeModule.CountOfLines
        End If
    Next i
End With
'------------------------------------------------------------------------


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -