Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Уроки программирования на Visual Basic для Microcoft Office 97 >> Программирование в среде MS Excel >> Использование объекта Application >> Использование методов объекта Application >> Метод OnKey, OnRepeat, OnTime и OnUndo

[Назад]    [Содержание]    [Вперед]

  


Метод OnKey, OnRepeat, OnTime и OnUndo


В предыдущих версиях Excel не поддерживались события. Чтобы устранить это ограничение, в объект Application были добавлены методы OnKey, OnRepeat, OnTime и OnUndo. Они обычно используются в процедуре Auto_0pen, которая автоматически выполняется при открытии рабочей книги.

Метод OnKey
Метод OnRepeat
Метод OnTime
Метод OnUndo

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

Application.OnKey Key, Procedure

Параметр Key - обязательный строковый аргумент, который определяет комбинацию клавиш или клавишу, которая назначена процедуре. В параметре Key можно указать также специальные клавиши (табл. 10.2).

Клавиша Код
<Backspace> {BACKSPACE} или {BS}
<Break> {BREAK}
<Caps Lock> {CAPSLOCK}
<Clear> {CLEAR}
<Delete> {DELETE}или{DEL}
Клавиша Код
<4-> {DOWN}
<End> {END}
<Enter> (цифровая клавиатура) {ENTER}
<Enter> rv
<Escape> {ESCAPE} или {ESC}
<F1>-<F15> {F1}-{F15}
<Home> {HOME}
<lnsert> {INSERT}
<<-> {LEFT}
<Num Lock> {NUMLOCK}
<Page Down> {PGDN}
<Page Up> {PGUP}
--> {RIGHT}
<Scroll Lock> {SCROLLLOCK}
<Tab> {TAB}
<^> {UP}

Если требуется задать сочетание одновременно нажимаемых клавиш, используйте табл. 10.3.

Специальная клавиша Код
Alt или Option %
Shift +
Ctrl /\
Command *

Параметр Procedure - необязательный строковый аргумент, который определяет имя процедуры, запускаемой при нажатии клавиши или комбинации клавиш. Если требуется отключить исполнение макроса при нажатии комбинации, присвойте данному параметру пустую строку (""). Если требуется восстановить исходную функцию сочетания клавиш, выполните метод ОпКеу, не указывая параметр Procedure. Приведем пример использования метода ОпКеу:

' Назначение комбинации клавиш <Ctrl> + < --> >
'процедуре GetSalesData.
Application.ОnКеу "^{RIGHT}", "GetSalesData"

' Отмена назначения комбинации клавиш <Ctrl> + < --> >".
Application.ОnКеу ""{RIGHT}", ""

' Восстановление функции комбинации клавиш <Ctrl> + <--> >".
Application.ОпКеу "^{RIGHT}"


Метод OnRepeat определяет процедуру, которая выполняется при выборе команды Правка | Повторить (Edit | Repeat). Метод имеет следующий синтаксис:

Application.OnRepeat Text, Procedure

ПараметрText - обязательный аргумент, задающий текст команды Правка | Повторить. Параметр Procedure - обязательный аргумент, содержащий имя процедуры, которая выполняется при выборе команды Правка | Повторить.

Приведем пример использования данного метода. Следующая инструкция устанавливает текст команды Правка | Повторить равным "Повторить чтение данных по сбыту" и связывает процедуру GetSalesData с данной командой:

Application.OnRepeat "Повторить чтение данных по сбыту", _
               "SaleData.xls!GetSalesData"


Метод OnTime позволяет назначить выполнение процедуры на заданное время. Метод имеет следующий синтаксис:

Application.OnTime(EarliestTime, Procedure, LatestTime, Schedule)

Обязательный параметр EarliestTime - момент запуска процедуры. Параметр Procedure также обязателен. Он содержит имя выполняемой процедуры. Следует отметить, что для ввода значения параметра EarliestTime можно использовать функцию TimeValue ().

Если на момент, заданный параметром EarliestTime, Excel не может запустить указанную процедуру из-за того, что выполняет другую операцию, то дополнительный параметр LatestTime определяет последний момент запуска этой процедуры. Если по прошествии указанного времени Excel так и не освободился, то процедура не исполняется.

Параметр Schedule - необязательный аргумент. Если он равен значению True (по умолчанию), то выполнение процедуры откладывается на сутки. Приведем пример использования метода OnTime:

' Выполнение процедуры GetSalesData по прошествии 1 минуты
' с текущего момента.
Application.OnTime Now + TimeValue ("00:01:00"), "GetSalesData"

' Выполнение процедуры UpdateSalesData в 14:00.
Application.OnTime TimeValue(" 14:00:00 "), "UpdateSalesData"


Метод OnUndo позволяет установить текст команды Правка | 0тменить (Edit\ Undo) и связать с этой командой процедуру. Синтаксис метода напоминает синтаксис метода OnRepeat:

Application.OnUndo(Text, Procedure)

Параметр Text устанавливает текст команды Правка | 0тменить. Аргумент Procedure определяет процедуру, связанную с этой командой.



[Назад]    [Содержание]    [Вперед]

  


Для комментария : kadan@grsu.grodno.by

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017