这很奇怪。为什么Visio会抛出异常?
的方案: 的
粘贴以下代码。
Sub test() Application.ActiveWindow.SelectAll End Sub
执行子程序“test”。
您将在代码行“ Application.ActiveWindow.SelectAll ”中观察到此异常:
---------------------------
Microsoft Visual Basic for Applications
---------------------------
Run-time error '-2032465766 (86db089a)':
Requested operation is presently disabled.
---------------------------
OK Help
---------------------------
有谁知道为什么?
答案 0 :(得分:1)
错误“请求的操作当前被禁用”意味着字面意思 - 此时请求的操作被禁用(在菜单中)(因为它没有意义)。
在您的情况下,您无法执行“全选”,因为无法选择(您没有形状)。因此禁用“全选”命令。
如果你在图纸上有一些形状,这段代码就可以运行了。
答案 1 :(得分:0)
此过程不属于ThisDocument
模块,该模块适用于Document事件。在左侧的Project Explorer中右键单击ThisDocument,然后选择Insert Module,将代码剪切并粘贴到此处。
如果您在文档中添加了一个或多个形状,并在运行代码之前单击以选择其中一个形状,那么它可以正常工作。这是因为之前没有ActiveWindow
,这就是错误的原因。如果没有活动窗口,则禁用所有形状。
答案 2 :(得分:0)
我觉得Visio会在设计时抛出异常,以防您在文档中没有对象时尝试通过代码运行select操作。
我希望在未来的版本中有这种改变。