编辑:在将特定的Excel文件或其窗口放到前面之前,我需要检查它是否正在运行/仍然打开。检查一个特定的Excel文件在打开多个Excel文件时是否打开并激活它
旧问题: 我想设置一个特定的Excel窗口到前面。
有了这个VBScript代码,我可以通过它的名字激活一个单独的Excel窗口。但是由于打开了多个Excel窗口,它不再工作。在这种情况下,它不会找到所需的窗口,并且无法检查它是否打开。所以它总是会说ExcelFileName没有打开。
Set WshShell = WScript.CreateObject ("WScript.Shell")
if WshShell.AppActivate(ExcelFileName) = True then
wscript.echo ExcelFileName & " is opened."
WshShell.sendkeys "%x" 'in Excel 2003 this would had opened the extra-menu-droplist of the menu-bar. Now it just activates Excel.
else
wscript.echo ExcelFileName & " is not open."
End if
如何使它可以与多个打开的Excel窗口一起使用?
一个简单的'CreateObject(“WScript.Shell”).AppActivate“Microsoft Excel”'不起作用? –
是的,我很惊讶它工作正常。但是我很抱歉,我注意到我把这个问题写错了,我的错!除了激活一个窗口,我想在之前检查它是否可用或正在运行。我想在激活它之前检查是否打开了特定的Excel文件。我现在编辑我的问题。 – Eleandro
看看这里:[检查工作簿是否在任何Excel实例中打开](http://www.thecodenet.com/articles.php?id=1)。不幸的是,它不能以与VBScript相同的方式工作,但它解释了这个问题。 – Eleandro