Запускать макрос непрерывно при нажатии кнопки на QAT

Запускать макрос непрерывно при нажатии кнопки на QAT

Я добавил два макроса на "Панель быстрого доступа" (QAT). Макросы предназначены для навигации влево и вправо по листу, например, когда вы нажимаете стрелки в правом нижнем углу рабочей книги. Когда вы нажимаете их, они сдвигают ячейки влево и вправо на одну ячейку за раз; вам нужно продолжать нажимать на них, чтобы продолжать перемещаться влево (или вправо). Я хотел бы, чтобы они работали непрерывно, например, когда вы нажимаете стрелки в правом нижнем углу; Excel продолжает менять столбцы, когда нажимается стрелка, и останавливается, когда вы ее отпускаете. Макрос должен продолжать работать (изменять ячейки), когда нажимается щелчок мыши, и останавливаться, когда я его отпускаю. Возможно ли это, можно ли добавить эту функцию к кнопкам на QAT.

решение1

Это можно сделать с помощью вездесущегоAutoHotkey.

Первый шаг: Найдите сочетание клавиш для макросов на панели быстрого доступа.

Нажмите ALT, чтобы отобразить номера сочетаний клавиш для элементов QAT, давая вам Alt+ numberсочетание клавиш для элемента. Допустим, номер вашего элемента QAT был 8.

Второй шаг: Создайте скрипт AutoHotkey для непрерывного выполнения элемента QAT.

Следующий код будет активирован долгим нажатием на F12клавишу. Он будет отправлять в Excel Alt+ 8каждые полсекунды, пока F12клавиша не будет отпущена

Скопируйте следующее в .ahkфайл, возможно, изменив "F12" и "8". Дважды щелкните файл, чтобы начать его выполнение. Он создаст зеленый значок "H" в трее, который вы можете щелкнуть правой кнопкой мыши и выбрать Exitдля остановки. Если вы хотите, чтобы этот скрипт всегда выполнялся, скопируйте его в пользовательскую папку автозагрузки в C:\Users\<user name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

SetTitleMatchMode, 2
#IfWinActive Excel

F12::
Loop:
KeyWait, F12, T0.5
err := Errorlevel
if (err) {
  Send, {LAlt}8
  Goto, Loop
}
return

Связанный контент