Как вызвать кнопки в любом приложении windows - PullRequest
0 голосов
/ 13 января 2020

В большинстве случаев я могу использовать автоматическую клавишу для привязки горячих клавиш для функции / функции / кнопки к приложениям в Windows.

Если программное обеспечение не имеет горячих клавиш для кнопки и не предоставляет функций для Пользовательские карты ключей для этой кнопки, я использовал для распознавания изображений или расположения кнопки. И то, и другое несколько легко сломать.

Кто-нибудь знает, есть ли лучший способ нацеливания кнопок?

Например, у «Полужирный» в Excel есть горячая клавиша, в то время как у цвета заливки есть не:

-

enter image description here

-

спасибо!

Ответы [ 3 ]

0 голосов
/ 13 января 2020

Вы можете просмотреть элемент управления, нажав кнопку в Excel. Может или не может работать хорошо и легко.

Для действительно хорошего решения, я бы рекомендовал изучить VBA .
Или, если вы хотите использовать AHK, посмотрите на использование Excel ComObject .

Вот небольшой фрагмент кода AHK, чтобы превратить активную в настоящий момент ячейку в красный:

XL := ComObjActive("Excel.Application") ;reference our open Excel document
XL.ActiveCell.Interior.ColorIndex := 3 

Для VBA вы найдете множество учебников и т. Д. c с быстрым поиском в Google.
Для AHK вы также найдете некоторые, но, возможно, не так много.
Вот один для AHK, который, кажется, охватывает большое количество материала, однако, похоже, что вы хочу использовать свою библиотеку для всего, что он делает. Я думаю, будет легко, если вы просто хотите выполнить работу, но не очень хорошо, если вы действительно хотите научиться ее выполнять:
https://www.autohotkey.com/boards/viewtopic.php?t=63032

РЕДАКТИРОВАТЬ:
Только что понял, что Excel был примером вместо кнопки заливки цвета. Поэтому я добавлю еще немного о щелчке элемента управления и отправке элемента управления .
Используйте какой-нибудь способ, чтобы попытаться получить класс или, еще более предпочтительно, дескриптор элемента управления, по которому вы будете нажимать sh или вход в. На страницах документации controlclick / send AHK приведены некоторые примеры таких способов.
Возможно, простым способом может быть использование WindowSpy.ahk (сценарий ahk, который при установке ahk находится в папке установки). Можно также назвать что-то вроде AU3_Spy.exe.
Если вы не можете получить класс или hwnd, вы можете использовать координаты.
Документация также показывает это и имеет примеры.

0 голосов
/ 16 января 2020

Один из подходов, который вы можете использовать, - это использовать панель быстрого доступа:

  1. Добавить цвет заливки ячейки на панель быстрого доступа и
  2. Определить горячую клавишу, которая перемещается к опции панели инструментов. , В моем случае, показанном ниже, это будет скрипт, который последовательно отправляет ключи Alt , 6 .

Затем можно выбрать цвет заливки. используя стрелки и клавиши ввода.

Это хорошо для меня, используя следующее:

; Go to Fill Cell Color using Alt+Shift+f
#IfWinActive, ahk_class XLMAIN
!+f::
Send !6
Return

В этом примере выгода незначительна, так как вы можете просто ввести Alt , 6 вручную, но использование панели инструментов с AHK полезно в более сложных примерах.

Недостатком этого подхода является то, что сценарий должен быть настроен для использования на другом компьютере, так как Нумерация панелей инструментов быстрого доступа может варьироваться.


Add to Quick Access Toolbar

Shortcut provided by Excel

0 голосов
/ 13 января 2020

есть метод с именем PerformClick () для кнопки. Пожалуйста, проверьте, решает ли это вашу проблему.

...