运行时错误'-2032465766(86db089a)'“请求的操作目前被禁用。”

时间:2013-08-26 08:58:45

标签: vba visio visio-2010

这很奇怪。为什么Visio会抛出异常?

方案:

  1. 打开Visio的新实例。
  2. 按CTRL + N获取空白新文档。
  3. 转到VB编辑器。
  4. 打开默认的“ThisDocument”代码文件。
  5. 粘贴以下代码。

    Sub test()
        Application.ActiveWindow.SelectAll
    End Sub
    
  6. 执行子程序“test”。

  7. 您将在代码行“ Application.ActiveWindow.SelectAll ”中观察到此异常:

    ---------------------------
    Microsoft Visual Basic for Applications
    ---------------------------
    Run-time error '-2032465766 (86db089a)':
    
    
    
    Requested operation is presently disabled.
    ---------------------------
    OK   Help   
    ---------------------------
    

    有谁知道为什么?

3 个答案:

答案 0 :(得分:1)

错误“请求的操作当前被禁用”意味着字面意思 - 此时请求的操作被禁用(在菜单中)(因为它没有意义)。

在您的情况下,您无法执行“全选”,因为无法选择(您没有形状)。因此禁用“全选”命令。

如果你在图纸上有一些形状,这段代码就可以运行了。

答案 1 :(得分:0)

此过程不属于ThisDocument模块,该模块适用于Document事件。在左侧的Project Explorer中右键单击ThisDocument,然后选择Insert Module,将代码剪切并粘贴到此处。

如果您在文档中添加了一个或多个形状,并在运行代码之前单击以选择其中一个形状,那么它可以正常工作。这是因为之前没有ActiveWindow,这就是错误的原因。如果没有活动窗口,则禁用所有形状

答案 2 :(得分:0)

我觉得Visio会在设计时抛出异常,以防您在文档中没有对象时尝试通过代码运行select操作。

我希望在未来的版本中有这种改变。