Установить фокус на приложение с пакетом - PullRequest
2 голосов
/ 21 сентября 2011

Я использую WinXP, и у меня есть пакетный скрипт, в котором я определяю имя файла листа Excel, а затем запускаю его, просто запустив этот лист Excel.

Проблема в том, что Excel работает в это время,Поэтому, когда командный файл запускает лист Excel, Excel отправляется на передний план, и лист Excel открывается.Тем не менее, фокус по-прежнему находится на DOS-окне, в котором выполняется пакетный файл.

Как в этом случае установить фокус на лист Excel?

Ответы [ 2 ]

1 голос
/ 22 сентября 2011

Попробуйте передать файл напрямую в Excel:

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

Невозможно проверить, так как мы используем открытый офис.

EDIT:

START /B (excel.exe "C:\Path\To\file.xlsx")
0 голосов
/ 02 июля 2015

Если вы хотите сфокусировать другую программу, вы можете сделать это.

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 для фокусировки приложения.Вам нужно передать заголовок окна, а не имя окна (what.bat).Чтобы убедиться, что вы получите право

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...