Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Запускает фоновый таймер, который запускает макрос в указанное время.
Синтаксис
выражение. OnTime( _When_ , _Name_ , _Tolerance_ )
выражение (обязательно). Переменная, представляющая объект Application .
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| Когда | Обязательный | Variant | Время выполнения макроса. |
| Name | Обязательный | String | Имя выполняемого макроса. |
| Допуск | Необязательный | Variant | Максимальное время (в секундах), которое может пройти до отмены макроса, который не был запущен в момент, указанный параметром When. Макросы не всегда могут выполняться в указанное время. Например, если выполняется операция сортировки или отображается диалоговое окно, макрос будет отложен до тех пор, пока Word не завершит задачу. Если этот аргумент равен 0 (ноль) или опущен, макрос выполняется независимо от того, сколько времени прошло с момента, указанного параметром When. |
Замечания
Параметр When может быть строкой, указывающей время (например, или "16:30"), или серийным номером, "4:30 pm" возвращаемым функцией, такой как TimeValue или TimeSerial (например, TimeValue("2:30 pm") или TimeSerial(14, 30, 00)). Можно также включить дату (например, "6/30 4:15 pm" или TimeValue("6/30 4:15 pm")).
В параметре Name используйте полный путь к макросу, чтобы убедиться, что выполняется правильный макрос (например, "Project.Module1.Macro1"). Для выполнения макроса документ или шаблон должны быть доступны как при выполнении инструкции OnTime , так и в течение времени, указанного параметром When arrives. По этой причине лучше сохранить макрос в Normal.dot или другом глобальном шаблоне, который загружается автоматически.
Используйте сумму возвращаемых значений функции Now и функции TimeValue или TimeSerial , чтобы задать таймер для выполнения макроса через указанное время после выполнения инструкции. Например, используйте для Now+TimeValue("00:05:30") выполнения макроса через 5 минут и 30 секунд после выполнения инструкции.
Word может поддерживать только один фоновый таймер, заданный OnTime. При запуске другого таймера перед запуском существующего таймера существующий таймер будет отменен.
Пример
В этом примере выполняется макрос с именем Macro1 в текущем модуле в 15:55.
Application.OnTime When:="15:55:00", Name:="Macro1"
В этом примере макрос с именем Macro1 запускается через 15 секунд с момента выполнения примера. Имя макроса включает в себя имя проекта и модуля.
Application.OnTime When:=Now + TimeValue("00:00:15"), _
Name:="Project1.Module1.Macro1"
В этом примере выполняется макрос с именем Start в 13:30. Имя макроса включает в себя имя проекта и модуля.
Application.OnTime When:=TimeValue("1:30 pm"), _
Name:="VBAProj.Module1.Start"
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.