Как "назначить" клавишам свой собственный макрос? (горячие клавиши для макроса)
Категория: Basic
2012-07-27 14:01:56
- Вариант. Разместите в любом стандартном модуле нужной рабочей книги:
code: #vba
Private Sub Auto_Open() Application.OnKey Key:="+^%{F1}", Procedure:="MessageBox" ' Сочетание клавиш SHIFT + CTRL + ALT + F1 End Sub Private Sub MessageBox() MsgBox "Здесь могла быть Ваша реклама ..." End Sub
или:
code: #vbaPrivate Sub Auto_Open() Application.OnKey Key:="^c", Procedure:="NewName" ' Сочетание клавиш CTRL + C (c) End Sub Private Sub NewName() Application.Dialogs(xlDialogWorkbookName).Show End Sub
Вернуть всё обратно можно выполнив единственную инструкцию:
code: #vbaApplication.OnKey Key:="^c"
А вот так можно заблокировать выполнение операции, связанной с нажатием стандартных горячих клавиш:
code: #vbaApplication.OnKey Key:="^c", Procedure:=""
Вариант. Если Вас устроит сочетание таких клавиш, как CTRL + r или CTRL + SHIFT + R, то создать горячие клавиши для макроса можно и вручную. Для этого, при записи макроса в стандартном диалоговом окне Запись макроса в поле, которое размещено под надписью Сочетание клавиш: необходимо ввести нужную букву.
Программно это может выглядить так :
code: #vbaSub Auto_Open() Application.MacroOptions Macro:="Printers", _ HasShortcutKey:=True, ShortcutKey:="Q" ' Сочетание клавиш CTRL + SHIFT + Q (q) End Sub Sub Printers() Application.Dialogs(xlDialogPrinterSetup).Show End Sub
Поделиться: