7.11 追加したメニューを削除する
右図のような、オリジナルのメニューを削除する方法です。アドインなどの場合は、アドインを外したときに一緒にメニューも削除すると親切ですね。とゆーか、あたりまえですね(汗)

というわけで、オリジナルのメニューを削除する方法です。
特定のメニューを削除する
まずは、オリジナルのメニューから指定したメニューを選んで削除する方法です。

削除するときは、Application.CommandBars("Worksheet Menu Bar")オブジェクトのControls(???).Deleteメソッドで行います。???のところにメニューの名前を指定します。

例では、オリジナルのメニュー「メニュー1」を削除しています。ただし、この名前のメニューが無いときはメソッドでエラーが出るので、On Error…で回避しています。

Sub prcNewMenuDel()

    On Error GoTo ErrHand

    '指定したメニューを削除します。
    '存在しない場合はエラーが出ますが、On Error…で回避してます。
    With Application.CommandBars("Worksheet Menu Bar")
        .Controls("メニュー1").Delete
    End With

    Exit Sub

ErrHand:

    If Err.Number = 5 Then
       Resume Next
    Else
       MsgBox Err.Description
    End If

End Sub
 ※これはエクセルマクロです
全てのオリジナルメニューを削除する
今度は、オリジナルのメニューを全て削除する方法です。超カンタンでApplication.CommandBars("Worksheet Menu Bar").Resetを実行すればOK。

以下の例では、追加したオリジナルメニューを全て削除しています。

Sub prcAllNewMenuDel()

    Application.CommandBars("Worksheet Menu Bar").Reset

End Sub
 ※これはエクセルマクロです
Copyright(C) 1999-2006 結城圭介。 All rights reserved