【发布时间】:2017-04-10 04:04:46
【问题描述】:
目前我有一个文件名存储在名为 filename 的字符串中。存储在字符串中的文件当前处于打开状态。问题是,有时可能会在另一个 Visio 实例中打开此文件。
我想激活存储在文件名字符串中的文件
我当前的方法没有捕捉到这一点 - 下面的代码只检查文件名是否存在于当前/一个 Visio 实例中。
For Each objDoc In objVisio.Documents
If objDoc.Name = filename Then
objDoc.activate
Exit for
End If
下一个
如何激活此文件以将其向前推进?
windows(filename & " - Microsoft Visio").activate
也不行
我试过了
Dim objVisio as Visio.Application
Set objVisio = GetObject(filename).Application
这不起作用(可能是由于文件名字符串只有文件名而不是整个文件路径)
还有其他可用的蛮力方法吗?
感谢任何帮助!
【问题讨论】:
-
Visio 是前台窗口。关于激活窗口的规则基本上是说如果您的代码不是活动窗口,则您不能设置活动窗口(它被忽略)。这是为了阻止程序从用户选择要使用的程序中窃取焦点。
-
我实际上是在几分钟前才发现这条规则的。这是有道理的。在 Visio 的第二个实例中,如果打开了 3 个文件并且“文件名”不在焦点上,它不会将其作为活动窗口显示。在这种情况下,我必须遍历每个打开的 Visio 实例以查找名称并激活它(但我该如何继续这样做)