宏是在选择菜单项时执行特定操作的一系列命令,可以只是完成任务的按键记录,也可以是复杂的命令、AutoLISP、DIESEL 或 ActiveX 编程代码等的组合。
本例创建称为“TestMenu”的新菜单并插入菜单项。给定的菜单项名称为“Open”,而指定给该菜单项的宏为 OPEN 命令。
Sub Ch6_AddAMenuItem()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' 创建新菜单
Dim newMenu As AcadPopupMenu
Set newMenu = currMenuGroup.Menus.Add("TestMenu")
' 向新菜单添加菜单项
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' 给宏指定“ESC ESC _open”的 VBA 等价值
openMacro = Chr(3) + Chr(3) + "_open "
Set newMenuItem = newMenu.AddMenuItem _
(newMenu.count + 1, "Open", openMacro)
' 在菜单栏上显示菜单
newMenu.InsertInMenuBar _
(ThisDrawing.Application.menuBar.count + 1)
End Sub