Добрый день. Создаю небольшую надстройку для удобства работы с помощью RibbonXMLEditor. Возникла необходимость посадить сработку кнопки (которая работает от макроса) по горячей клавише. Например у меня, при нажатии комбинации Ctrl+й - выделенный диапазон выделяется зелёным, при нажатии Ctrl+ф - выделяется оранжевым (чтобы каждый раз не лазить во вкладку Главная и не выбирать туда-сюда цвет заливки). В обычной PERSONAL.XLSB эти макросы посажены на данные комбинации клавиш как обычно, через параметры. А как посадить кнопки надстройки на горячие клавиши? Или что-то можно (нужно) прописать в параметрах кнопки button в RibbonXMLEditor?
RAN, посмотрев код вашей настройки, а также тело макроса, мне не понятно, где вы привязали срабатывание кнопки от Ctrl+q )). Можете уточнить? Или вы сначала настроили на макрос горячие клавиши через Вид-Макросы-параметры, а потом настройку создали? Но тогда при установке надстройки на другом компьютере комбинация Ctrl+q работать не будет. Или будет?!
Private Sub Workbook_Open()
'в модуль листа
Application.OnKey "^q", "Макрос4" 'ctrl+q(значек^)
Application.OnKey "%q", "Макрос4" 'alt+q(значек%)
Application.OnKey "+q", "Макрос4" 'shift+q(значек+)
End Sub
обязательно отключать при выходе иначе и в других файлах будет искать код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^q"
End Sub
P.S.S.S. В общем, вопрос после бараждения просторов Интернета решён - нужно вставлять макрос управления горячими клавишами не в "Modules" надстройки, где находятся макросы надстройки, а в Microsoft Excel Objects - Эта книга. Это для тех, кто как я, делает первые шаги в сборке надстройки и изучении VBA. Свою надстройку перезалью, вдруг кому что-то пригодится. Всем спасибо за участие!