8

IDE Excel VBA регистрирует Control-y как "вырезать эту строку кода".

Напротив, повторное выполнение выполняется Alt-e, R.

Есть ли способ изменить это поведение и сделать Control-y гораздо более распространенным повтором?

(Подробнее о поведении по умолчанию здесь есть ссылка: http://www.pcreview.co.uk/threads/ctrl-y-in-vba-ide.2198613/)

3 ответа3

2

Этот скрипт autohotkey, который я написал, похоже, работает:

#IfWinActive ahk_class wndclass_desked_gsk

^y::
Send {escape}
Send !e;
Send r
Send {escape}
Send {escape}
return

#IfWinActive
2

В ответ на вопрос:

Мне интересно, может ли VBE быть запрограммирован напрямую для решения этой проблемы?

Ответ, к сожалению, отрицательный. Единственный способ изменить поведение - использовать надстройки , возможности которых обобщены Microsoft как:

  • Модуль запуска, позволяющий перехватить открытие и закрытие надстройки.
  • Некоторый код для добавления наших пунктов меню в командные панели при открытии и удаления их при закрытии
  • Для VBE класс mosule для обработки пунктов меню "Click" событиями
  • Некоторый код для выполнения действий вашего меню.

В частности, перехватывающих горячих клавиш нет в списке.

Тогда ответ Элиягу остается верным, и AutoHotKey (или AutoIt) остается единственным решением.

0

IDE Excel VBA регистрирует Control-y как "вырезать эту строку кода".

Напротив, повторное выполнение выполняется Alt-e, R.

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