Я использую следующий скрипт для активации конкретного окна

f5::
WinWait, Microsoft Excel - B  [Compatibility Mode], 
IfWinNotActive, Microsoft Excel - B  [Compatibility Mode], , WinActivate, Microsoft Excel - B  [Compatibility Mode], 
WinWaitActive, Microsoft Excel - B  [Compatibility Mode],  
return

но команда winwait или ifwinnotactive не работает должным образом, если есть 3-4 окна Excel, свернутые.
Например, есть 3 окна Excel, которые свернуты, говорят, что это A, B и C, и я хочу активировать только окно B, а также его sheet3, тогда какую команду мне следует использовать?
Можно ли с помощью com-объектов активировать конкретное окно Excel и конкретный лист?

Как следует из кодов com-объектов, активируется только один существующий файл Excel. лайк-

f6::
Xl := ComObjActive("Excel.Application")
Xl.Visible := True
return

Как добавить конкретное имя файла Excel (которое свернуто) и имя листа в кодировке com-объекта.

1 ответ1

0

Воспользуйтесь шпионской программой "Active Window Info" от AHK. Он называется AU3_Spy.exe и находится в папке установки AHK. Запустите шпионское окно, нажмите на открытую таблицу Excel, и оно даст вам точное имя класса для этого файла (в разделе «Заголовок окна и класс), который вы должны использовать в своем скрипте.

Пример: IfWinActive, ahk_class XLMAIN

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .