Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 02.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.08 Mб
Скачать

Программное назначение управляющих клавиш макросам

В приложении Excel программно можно назначить клавиши макросу через метод OnKey объекта Application. Метод OnKey имеет два входных параметра Key – для назначение комбинаций клавиш, и Procedure – для ввода имени макроса, которому назначаются управляющие клавиши (перед именем макроса может быть имя одной из загруженных книг Excel в которой макрос находится см. пример ниже. Имя книги общих макросов – “PERSONAL.XLS”). Если параметр Procedure опущен, то указанная комбинация клавиш снимается с макроса, на который она была установлена. Если параметр Procedure имеет значение пустой строки, то указанная комбинация клавиш блокируется в Excel. Комбинация клавиш задается в строковом формате, клавиши в строке кодируются следующим образом:

Клавиша

Тип клавиши

Код клавиши

CTRL

Управляющие

^

Alt

%

Shift

+

A

Буквенные

{A}

B

{B}

0

Цифровые

0

1

1

F1

Другие

{F1}

Num Lock

{NUMLOCK}

Стрелки

{LEFT}

{RIGHT}

{UP}

{DOWN}

Пример:

Application.onkey “%1”,”Пункт1”

Application.onkey “^+{A}”, _

”’Моя книга.xls’!ПунктА”

Application.onkey “^+{B}”

В данном примере назначаются управляющие клавиши Alt+1 макросу Пункт1, и клавиши Ctrl+Shift+A макросу ПунктA находящемуся в Excel файле с именем “Моя книга”. И снимается зарезервированная комбинация управляющих клавиш CTRL+Shift+B с макроса проекта.

В приложении Word управляющие клавиши макросу назначаются через метод Add объекта KeyBindings, и удаляются через метод Disable объекта FindKey. В методе Add объекта KeyBindings имеется входной параметр KeyCode, который определяет комбинацию управляющих клавиш, и входной параметр Command, который задает имя макроса. Функция BuildKeyCode предназначена для задания кода управляющих клавиш входному параметру KeyCode. Функция BuildKeyCode может иметь от одного, до 4 входных аргументов, которые задаются соответствующими константами:

Клавиша

Тип клавиши

Имя константы

CTRL

Управляющие

WdKeyControl

Alt

WdKeyAlt

Shift

WdKeyShift

A

Буквенные

WdKeyA

B

WdKeyB

0

Цифровые

WdKey0

1

WdKey1

F1

Другие

wdKeyF1

End

WdKeyEND

Через свойство CustomizationContext можно установить тип документа, в который добавляется, или в котором удаляется комбинация управляющих клавиш.

Пример:

‘Начинаем работать с управляющими

‘клавишами общих макросов документов

CustomizationContext = NormalTemplate

‘управляющие клавиши Alt+M

‘назначаются макросу с именем "Мой"

KeyBindings.Add KeyCode:= _

BuildKeyCode(wdKeyAlt, wdKeyM), _

KeyCategory:=wdKeyCategoryMacro, Command:="Мой"

‘Начинаем работать с управляющими

‘клавишами активного документа

CustomizationContext = ActiveDocument

‘удаляем, ранее зарезервированные

‘клавиши Ctrl+Alt+D

FindKey(BuildKeyCode(wdKeyControl, _

wdKeyAlt, wdKeyD)).Disable

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]