AutoCAD ActiveX/VBA からメニュー項目にアクセラレータ キーを割り当てるには、そのメニュー項目の Label プロパティを使用します。
アクセラレータ キーを指定するには、ラベルの中でアクセラレータとして使用する文字の直前に ASCII コードでアンパサンド(&)を入れます。たとえば、ラベル Chr(Asc("&")) + "Edit" は "Edit" と表示され、文字 "E" がアクセラレータ キーとして使用されることを表します。
次の例では、"TestMenu" メニューと "Open" メニューの両方にアクセラレータ キーを追加します。"s" は "TestMenu" メニューのアクセラレータ キーとして使用され、"O" は "Open" メニューのアクセラレータ キーとして使用されます。
Sub Ch6_AddAMenuItem()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' Create the new menu
Dim newMenu As AcadPopupMenu
Set newMenu = currMenuGroup.Menus.Add _
("Te" + Chr(Asc("&")) + "stMenu")
' Add a menu item to the new menu
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' Assign the macro the VBA equivalent of "ESC ESC _open "
openMacro = Chr(3) + Chr(3) + "_open "
Set newMenuItem = newMenu.AddMenuItem _
(newMenu.count + 1, Chr(Asc("&")) _
+ "Open", openMacro)
' Display the menu on the menu bar
newMenu.InsertInMenuBar _
(ThisDrawing.Application.menuBar.count + 1)
End Sub