Поделиться через


Метод 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 и обратная связь.