Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » カスタマイズしたメニューにアクセスキーを表示する

カスタマイズしたメニューにアクセスキーを表示する

[スポンサードリンク]

カスタマイズしたメニューに、アクセスキーを表示する方法をご紹介しておきます。


▼メニューをカスタマイズするマクロ
Sub CustomizeMenuBar()

 Dim objCB As CommandBar
 Dim objCBCtrl As CommandBarControl
 
 Set objCB = Application.CommandBars("Worksheet Menu Bar")
 
 On Error Resume Next
 objCB.Controls("テスト_メニューの追加(&M)").Delete
 On Error GoTo 0
 
 Set objCBCtrl = objCB.Controls.Add(Type:=msoControlPopup, Temporary:=True)
 objCBCtrl.Caption = "テスト_メニューの追加(&M)"
 
 With objCBCtrl
  
  .Controls.Add Type:=msoControlButton
  With .Controls(1)
   .Caption = "テスト_コマンドA(&A)"
   .OnAction = "TestCmdA"
  End With
  
  .Controls.Add Type:=msoControlButton
  With .Controls(2)
   .Caption = "テスト_コマンドB(&B)"
   .OnAction = "TestCmdB"
  End With
 
 
 End With

End Sub

上記のコードを、VBE(Visual Basic Editor)を起動して標準モジュールに貼り付け実行すると、下図のようにアクセスキーつきでメニュー項目が表示されます。

カスタマイズしたメニューにアクセスキーを表示する

アクセスキーを表示するためのプロパティがあるように思ってしまう方もいらっしゃるようですが、そうではなく、
「objCBCtrl.Caption = "テスト_メニューの追加(&M)"」
「.Caption = "テスト_コマンドA(&A)"」
のように、Captionプロパティで、メニューに表示される文字列の後に「&」で英数字を指定するだけです。

▼サンプルファイル(002979.xls 39KByte)ダウンロード

サンプルファイルの標準モジュールには上記のコードの他、[テスト_コマンドA][テスト_コマンドB]から呼ばれるダミーのマクロ、カスタマイズしたメニューバーを元に戻すResetMenuBarマクロが記述してあります。

また、ブックがアクティブなときだけメニューがカスタマイズされるように、Workbook_ActivateイベントプロシージャからCustomizeMenuBarマクロを、Workbook_DeactivateイベントプロシージャからResetMenuBarマクロを、それぞれ呼んでいます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » カスタマイズしたメニューにアクセスキーを表示する

TrackBack:5

TrackBack URL
メニュー項目をすべて削除する from インストラクターのネタ帳
対象:Excel97,Excel2000,Excel2002,Excel2003 VBA(Visual Basic for Applications)で...
メニューをカスタマイズするマクロ from インストラクターのネタ帳
対象:PowerPoint97,PowerPoint2000,PowerPoint2002,PowerPoint2003 2002以前のPowerPoi...
メニューのカッコ内に表示されているアルファベットは何? from インストラクターのネタ帳
対象:Windows全般 「メニューに表示されているアルファベットは何ですか?」 「メニューのカッコつきで表示されるアルファベットは何のためにあるんです...
メニューバーを非表示にするマクロ from インストラクターのネタ帳
対象:Excel2002, Excel2003 VBA(Visual Basic for Applications)で、メニューをカスタマイズする方法を...
ショートカットメニューを非表示に−Application.CommandBars("Cell").Enabled = False from インストラクターのネタ帳
対象:Excel2002, Excel2003, Excel2007 VBA(Visual Basic for Applications)で、メニューを...

Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » カスタマイズしたメニューにアクセスキーを表示する

「イベントプロシージャ」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.