求助!关于添加右键菜单选项的问题
我把例子输进去,试了几个版本的例子,但总是执行到最后一步生成菜单选项的时候总是出现“对象变量和with块变量未设置”的提示,请问这是怎么回事,谢谢了。把你的程序贴上来吧! Sub Ch_AddMenuItemToshortcutMenu()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' 查找快捷菜单并将其指定给
' shortcutMenu 变量
Dim scMenu As AcadPopupMenu
Dim entry As AcadPopupMenu
For Each entry In currMenuGroup.Menus
If entry.ShortcutMenu = True Then
Set scMenu = entry
End If
Next entry
' 向快捷菜单添加菜单项
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' 给宏指定“ESC ESC _open”的 VBA 等价值
openMacro = Chr(3) + Chr(3) + "_open "
Dim a As Integer
Dim b As String
a = Asc("&")
b = Chr(95)
Set newMenuItem = scMenu.AddMenuItem("", Chr(Asc("&")) + "OpenDWG", openMacro)
End Sub
真是太谢谢了
其实问题很简单,currMenuGroup得到的菜单组里没有快捷菜单,所以scMenu也就没有被赋值,自然到最后一句会报错。。。。(在我这就是这样)
不如把这句Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
换成
Dim currMenuGroup As AcadMenuGroup
For Each currMenuGroup In ThisDrawing.Application.MenuGroups
If currMenuGroup.Name = "AMDTPP" Then Exit For
Next
唉,小弟菜鸟,不明白,试了一下,还是有问题哦,运行到
For Each entry In currMenuGroup.Menus
这句时又出现对象变量或with块变量未设置,咋办呢
没招了,在我这一切正常,没有报错。。。你替换那句话了吗? 同问,急呀,好几天了这个问题,我的也出现同样的提示,根本通不过 没有 lisp的 程序吗
原因是当你要运行这个过程的时候,根本就没有快捷菜单弹出,无法获取,当然就不能执行了。
页:
[1]