Метод Application.OnTime (Excel)
Планирует выполнение процедуры в указанное время в будущем (в определенное время суток или по истечении определенного времени).
Синтаксис
expression. OnTime (ранняя, процедура, последнее время, расписание)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Ранняя время | Обязательный | Variant | Время выполнения этой процедуры. |
Процедура | Обязательный | String | Имя выполняемой процедуры. |
LatestTime | Необязательный | Variant | Последнее время выполнения процедуры. Например, если для параметра LatestTime задано значение FirststTime + 30, а Microsoft Excel не находится в режиме "Готово", "Копирование", "Вырезать" или "Найти в начале времени", так как выполняется другая процедура, Excel будет ожидать завершения первой процедуры 30 секунд. Если Excel не находится в режиме готовности в течение 30 секунд, процедура не будет выполняться. Если этот аргумент опущен, Excel будет ожидать выполнения процедуры. |
Schedule | Необязательный | Variant | Значение true для планирования новой процедуры OnTime. Значение false для очистки ранее заданной процедуры. Значение по умолчанию — True. |
Замечания
Используйте для Now + TimeValue(time)
планирования выполнения чего-либо по истечении определенного времени (отсчитываемого с этого момента). Используйте TimeValue(time)
для планирования выполнения определенного времени.
Значение EarliestTime округляется до ближайшей секунды.
Установите для параметра Расписаниезначение False , чтобы очистить процедуру, заданную ранее с теми же значениями Procedure и EarliestTime .
Процедура не должна принимать аргументов и не может быть объявлена в пользовательском классе или форме.
Пример
Этот пример выполняется my_Procedure 15 секунд.
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
В этом примере выполняется my_Procedure в 17:00.
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
Этот пример отменяет параметр OnTime из предыдущего примера.
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.