Основы офисного программирования и язык VBA


Методы объектов Application - часть 2


Параметр Name - также обязательный - задает имя запускаемого макроса. Макрос должен быть доступен как в момент выполнения процедуры OnTime, так и когда наступает время его выполнения, указанное в параметре When. Поэтому разумно такие макросы помещать, например, в проект Normal, доступный для всех приложений Word.

Параметр Tolerance задает диапазон времени, в течение которого есть смысл запустить макрос, если он не смог быть запущен в указанный параметром When момент. Причин, по которым макрос нельзя запустить в точно указанный срок, может быть много, - например, идет модальный диалог, который нельзя прервать до его завершения.

В приложении Excel у этого метода появился дополнительный, четвертый параметр, но суть метода сохранилась. Первые два параметра сохранили свой смысл, а третий слегка изменился, - он задает теперь последний срок запуска макроса. Изменились и ключевые имена параметров, тем не менее, приведенный ниже пример будет правильно работать, как в Excel, так и в Word:

Sub InTime() 'Запуск одного из двух макросов "Приветствие" 'Один запускается по утрам в 10.00, другой - через 1 минуту, 'начиная отсчет от момента выполнения метода OnTime If Now < "10:00:00" Then Application.OnTime TimeValue("10:00 am"), "Morning" Else Application.OnTime Now + TimeValue("00:01:00"), "Hello" End If End Sub

Заметьте: запускается только один из макросов. "Завести два будильника", дважды вызвав метод OnTime, нельзя - ведь только один таймер следит за запуском макроса. Пока "заведенный" макрос не будет исполнен, любая попытка установить время для запуска следующего макроса приведет к отмене предыдущего указания.

Для полноты картины приведем тексты макросов-приветствий:

Sub Morning() ' Утреннее приветствие MsgBox Prompt:="Привет! Я рад, работать с Вами!", Buttons:=vbOKOnly End Sub

Sub Hello() 'Приветствие MsgBox Prompt:="Привет! Будем работать!", Buttons:=vbOKOnly End Sub

Итак, подводя итоги, отметим, что только объект Power Point.Application имеет всего четыре метода.


Начало  Назад  Вперед



Книжный магазин