将焦点设置为具有批次的应用程序

我使用的WinXP,我有一个批处理脚本,我确定一个Excel工作表的文件名,然后通过简单启动该工作表启动它。

问题是Excel正在运行。 所以当batch file启动Excel工作表时,Excel被发送到前面,Excel工作表打开。 但是,重点仍然放在运行batch file的DOS框上。

如何在这种情况下将焦点设置到Excel工作表?

尝试将文件直接传递给Excel:

 excel.exe "C:\Path\To\file.xlsx" 

我们使用开放式办公室不能testing。

编辑:

 START /B (excel.exe "C:\Path\To\file.xlsx") 

如果你想集中另一个程序,你可以做到这一点。

 call :focus WindowTitle exit /b :focus setlocal EnableDelayedExpansion if ["%~1"] equ [""] ( echo Please give the window's title. exit /b ) set pr=%~1 set pr=!pr:"=! echo CreateObject("wscript.shell").appactivate "!pr!" > "%tmp%\focus.vbs" call "%tmp%\focus.vbs" del "%tmp%\focus.vbs" goto :eof endlocal 

我正在使用VBScript来集中应用程序。 你需要传递窗口的标题,而不是窗口的名字(whatever.bat)。 确保你得到正确的