将焦点设置为批处理应用程序

时间:2011-09-21 05:27:07

标签: excel batch-file

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

问题是Excel当时正在运行。因此,当批处理文件启动Excel工作表时,Excel将发送到前面并打开Excel工作表。但是,焦点仍然在批处理文件运行的DOS框中。

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

2 个答案:

答案 0 :(得分:1)

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

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

我们使用开放式办公室时无法测试。

编辑:

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

答案 1 :(得分:0)

如果你想关注另一个程序,你可以这样做。

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)。确保你得到正确的