右クリックメニューに登録・削除

エクセル 右クリックメニューに登録 値の貼り付けの方法だと、いちいち「マクロの実行」をしなければならない。マンドクセ('A`)
なので、ブックを開いたら処理をするようにした。
以下はThisWorkbookモジュールに記載。OnAction の "Main.LoadALL" は標準モジュールに記載。

'ワークブックを開く時のイベント
Private Sub Workbook_Open()
    Call AddMenu
End Sub
'右クリックメニューに追加
Sub AddMenu()
    Dim myCBCtrl2 As CommandBarButton
    Set myCBCtrl2 = Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, ID:=371, Before:=6, temporary:=True)
    With myCBCtrl2
        .Caption = "SGML書き出し"
        .OnAction = "Main.LoadALL"
    End With
End Sub

このままだと右クリックメニューに残ってしまうので、ブックを閉じる時に削除する。

'ワークブックを閉じる時のイベント
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Call RemoveMenu
End Sub
'右クリックメニューを削除
Sub RemoveMenu()
    Application.CommandBars("Cell").Controls.Item("SGML書き出し").Delete
End Sub

ワークブックを開く時のイベントには[Auto_Open]、閉じる時は[Auto_Close]というマクロもあるそうだ。
コイツは標準モジュールで動作する。ThisWorkbookモジュールに記載しても動かない。