編輯:在將特定的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