実は右クリックメニューもツールバーと同じcommndbarオブジェクトです。
右クリックメニューは"Cell"という名前ですが、エクセルのバージョンによってインデックスが異なります。
そこで下の例では"Cell"と言う名前で右クリックメニューの判定を行い、
メッセージボタンを追加します。
右クリックメニューからメッセージボタンを選ぶとメッセージ表示プロシージャを実行し、
"Hello!"とポップアップします。
『ショートカットメニューを戻す』プロシージャは上記のボタンを削除するものです。
このように既に組み込まれているツールバーはキャプションで特定するのが良いかと思われます。
Sub ショートカットメニューをカスタマイズする()
Dim idx As Byte
Dim button As CommandBarButton
For idx = 1 To CommandBars.Count
If CommandBars(idx).Name = "Cell" Then
Set button = CommandBars(idx).Controls.Add(, , , 1, True)
button.Caption = "メッセージ"
button.OnAction = "メッセージ表示"
End If
Next
End Sub
Sub メッセージ表示()
MsgBox "hello!"
End Sub
Sub ショートカットメニューを戻す()
Dim idx As Byte
Dim button As CommandBarButton
For idx = 1 To CommandBars.Count
If CommandBars(idx).Name = "Cell" Then
If CommandBars(idx).Controls(1).Caption = "メッセージ" Then
CommandBars(idx).Controls(1).Delete
End If
End If
Next
End Sub