1.3 追加したメニューを削除する
右図のような、オリジナルのメニューを削除する方法です。個別に削除するときは、Application.CommandBars("Menu Bar")オブジェクトのControls(???).Deleteで行います。???の部分には、メニューの名前を指定します。


また、全てのオリジナルメニューを削除(ツールバーのリセットを)するときはApplication.CommandBars("Menu Bar").Resetで行います。
特定のメニューを削除する
まずは、オリジナルのメニューから指定したメニューを選んで削除する方法です。

例では、オリジナルのメニュー「メニュー1」を削除しています。削除するときに指定したメニューがないときは実行時エラーが発生しますが、例ではメニューがあっても無くても処理が正常終了するように、On Errror…を使って(メニューがなかったときの)実行時エラーを回避しています。

Sub prcNewMenuDel()

    On Error GoTo ErrHand

    '指定したメニューを削除します。
    '存在しない場合はエラーが出ますが、On Error…で回避してます。
    With Application.CommandBars("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("Menu Bar").Resetメソッドを実行します。

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

Sub prcAllNewMenuDel()

    Application.CommandBars("Menu Bar").Reset

End Sub
Copyright(C) 1999-2006 結城圭介。 All rights reserved