Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование VBA.pdf
Скачиваний:
374
Добавлен:
03.05.2015
Размер:
3.07 Mб
Скачать

52

события BeforerightClick, и появление контекстного меню в текущем рабочем листе отменяется.

Private Sub Worksheet_BeforerightClick _

(ByVal Target As Excel.Range, Cancel As Boolean) Cancel = True

MsgBox "Контекстное меню недоступно" End Sub

При щелчке правой кнопкой мыши на рабочем листе, в модуле которого хранится эта процедура, будет выведено следующее диалоговое окно:

2.10.4. События объекта Application

К событиям уровня Application следует обращаться, когда нужно проконтролировать возникновение событий для всех открытых рабочих книг или рабочих листов. Для этого необходимо создать новый модуль класса. Необходимость использования этих событий возникает довольно редко, и в настоящей работе эти события не рассматриваются.

2.10.5. События объекта UserForm

Эти события будут рассмотрены при изложении технологии работы с пользовательскими формами.

2.10.6. События, не связанные с конкретными объектами

Рассмотренные выше события связаны с объектами: Application, WoorkBook, Sheet и т.д. В этом пункте описаны события, которые не связаны с определёнными объектами: OnTime и Onkey. Доступ к ним производится с помощью методов объекта Application. Другими словами, настройка событий OnTime и OnKey осуществляется с помощью методов

OnTime и Onkey.

В отличие от событий, рассмотренных выше, события OnTime и Onkey программируются с помощью инструкций, расположенных в модуле кода общего назначения: Module1, Module2 и т.д.

2.10.6.1. Метод OnKey

Метод OnKey устанавливает выполнение указанной процедуры при нажатии заданной комбинации клавиш.

Формат метода

OnKey (Key, Procedure), где

53

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

Procedure – необязательный параметр, задающий имя процедуры, выполняемой при нажатии указанной в Key комбинации клавиш. Если параметр опущен, то выполняется действие, которое зарезервировано в системе за этой комбинацией клавиш. Допустимо использование одновременно нажатой специальной клавиши и клавиши модификатора.

В таблице, приведённой ниже, указаны коды некоторых специальных клавиш и клавиш модификаторов.

Специальная клавиша

Код

От F1 до F15

От {F1} до {F15}

 

{LEFT}

 

{RIGT}

 

{DOWN}

 

{UP}

End

{END}

Insert

{ INSERT}

 

 

Клавиша-модификатор

Код

Shift

+

Ctrl

^

Alt

%

Пример

В следующем примере для вызова процедуры Пример1 назначена клавиша F1, а для процедуры Пример2 – комбинация клавиш Ctrl и Стрелка вверх (). Назначение клавиш этим процедурам производится в процедуре Setup_OnKey, которая автоматически вызывается процедурой автозапуска Auto_Open при загрузке рабочей книги Excel. Это необходимо для назначения клавишей процедурам.

Sub Auto_Open()

Call Setup_OnKey 'MsgBox "AUTO_EXEC" End Sub

Sub Setup_OnKey()

Application.OnKey "{F1}", "Пример1"

Application.OnKey "{UP}", "Пример2"

End Sub

Sub Пример1() d = "Дата " & Date

MsgBox "Переназначение клавиш_1" & Chr(13) & "Дата " & Date & Chr(13) & "Клавиша F1"