<スポンサーリンク>
右クリックにマクロを登録すると非常にマクロの有用性が広がります。
また、年配の方にも使いやすいプログラムになりますので、
ぜひ覚えていってください!!
【VBA】右クリックのメニューにマクロを追加する方法
右クリックのメニューのVBAのプログラムを登録する方法は、下記の通りです。
※ダブルクリックでコピーできます。
'ブックが開いた時に、右クリックに登録
Private Sub Auto_Open()
With CommandBars("Cell").Controls.Add(Before:=1) '1が一番上
.Caption = "RC_TEST(&P)" '表示名
.OnAction = "TEST" 'プログラム名
End With
End Sub
'ブックを閉じたときに、右クリックのメニューを消す。
Private Sub Auto_Close()
CommandBars("Cell").Controls("RC_TEST(&P)").Delete
End Sub
’実行するプログラム
Sub TEST()
MsgBox "右クリック"
End Sub
プログラム説明
メニューの登録と削除
上記の通り、
右クリックで登録するだけなら、
With CommandBars("Cell").Controls.Add(Before:=1) '1が一番上
.Caption = "RC_TEST(&P)" '表示名
.OnAction = "TEST" 'プログラム名
End With
で終わりなのですが、
これを実行したままにすると、なんと、メニューがそのまま残り続けます。
※今回の場合、 「RC_TEST(&P)」 のメニューが残り続ける。
ですので、きちんとメニューを消すことが大事です。
そのプログラムが、
CommandBars("Cell").Controls("RC_TEST(&P)").Delete
となっています。
表示名と一致しないときちんと消えないので、ご注意ください。
Auto_Open() Auto_Close() との組み合わせ
メニューを作った後に、きちんと消す必要がありますので、
基本的にはAuto_Open() Auto_Close()との相性が抜群になります。
そのブックを立ち上げたときに、自動的にメニューが追加されますので、
そのブックで使えるプログラムを登録しておきましょう!!
途中で落ちてしまった時、、
途中でプログラムが落ちてしまった時は、
メニューが残ったままになってしまいます。。
非常に邪魔ですので、
'右クリックのメニューの初期化は
Application.CommandBars("Cell").Reset
で、初期化してあげてください。
右クリックに常時追加してあるメニューも消えますのでご注意ください。
コメント欄