独自のメニューを作ったり、ツールバーに自作のマクロを登録したときなど、どのコマンドが実行されたかを知りたい場合があります。実行されたメニューやボタンを調べるには次のようにします。
メニューの調べ方
ここでは「メニューバーに独自のメニューを追加する」でご紹介したメニューのプロシージャ UnProtectSheet を使って解説します。
実行されたメニューのキャプションは、CommandBars コレクションの ActionControl プロパティを調べるとわかります。
Sub UnProtectSheet()
MsgBox CommandBars.ActionControl.Caption
End Sub
ActionControl プロパティは実行されたコントロールを返しますので、キャプションを知りたいときは Caption
プロパティを、何番目のコントロールかを知りたいときは Index プロパティなどを、メニューがチェックされているかどうかを知るには State
プロパティを調べます。
コマンドボタンの調べ方
ツールバーに追加したボタンも同じ ActionControl プロパティで知ることができます。新しく [ユーザー設定 1] というツールバーを作り、ボタンを 1
つ追加します。
このボタンに先の UnProtectSheet を登録してクリックしてみます。結果は下の通りです。
親オブジェクトの調べ方
コントロールの Parent
プロパティを調べると、そのコントロールが配置されている親オブジェクトがわかります。たとえば、上で作成したツールバーのボタンに次のプロシージャを登録すると、ツールバーの名前を知ることができます。
Sub UnProtectSheet()
MsgBox CommandBars.ActionControl.Parent.Name
End Sub
ツールバーには Caption プロパティがなく、名前は Name プロパティです。