Método Application.OnTime (Word)

Inicia um cronômetro em segundo plano que executa uma macro em uma hora especificada.

Sintaxe

expression. OnTime( _When_ , _Name_ , _Tolerance_ )

expressão Obrigatório. Uma variável que representa um objeto Application.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
When Obrigatório Variant A hora em que a macro será executada.
Name Obrigatório String O nome da macro a ser executada.
Tolerance Opcional Variant O tempo máximo (em segundos) que pode decorrer antes de uma macro que não foi executada na hora especificada por When ser cancelada. As macros podem não ser sempre executadas na hora especificada. Por exemplo, se uma operação de classificação estiver em andamento ou uma caixa de diálogo estiver sendo exibida, a macro se atrasará até que o Word tenha completado a tarefa. Se o argumento for 0 (zero) ou for omitido, a macro será executada independentemente de quanto tempo se passar desde a hora especificada por When.

Comentários

O parâmetro When pode ser uma cadeia de caracteres que especifica uma hora (por exemplo, "4:30 pm" ou "16:30"), ou pode ser um número de série retornado por uma função como TimeValue ou TimeSerial (por exemplo, TimeValue("2:30 pm") ou TimeSerial(14, 30, 00)). Você também pode incluir a data (por exemplo, "6/30 4:15 pm" ou TimeValue("6/30 4:15 pm")).

Para o parâmetro Nome, use o caminho de macro completo para garantir que a macro correta seja executada (por exemplo, "Project.Module1.Macro1"). Para que a macro seja executada, o documento ou modelo precisa estar disponível quando a instrução OnTime for executada e quando chegar a hora especificada por When. Por essa razão, é melhor armazenar a macro no modelo Normal.dot ou em outro modelo global carregado automaticamente.

Use a soma dos valores de retorno a função Now e a função TimeValue tanto na TimeSerial para definir um timer para executar uma macro em um período de tempo após a execução da instrução especificado. Por exemplo, use Now+TimeValue("00:05:30") para executar uma macro 5 minutos e 30 segundos após a execução da instrução.

Word pode manter apenas um cronômetro em segundo plano definido pelo OnTime. Se você iniciar outro cronômetro antes de esgotar um cronômetro existente, o cronômetro existente será cancelado.

Exemplo

Este exemplo executa a macro chamada "Macro1" no módulo atual às 15:55h.

Application.OnTime When:="15:55:00", Name:="Macro1"

Este exemplo executa a macro chamada "Macro1" 15 segundos após o exemplo ser executado. O nome da macro inclui o nome do módulo e do projeto.

Application.OnTime When:=Now + TimeValue("00:00:15"), _ 
 Name:="Project1.Module1.Macro1"

Este exemplo executa a macro chamada "Start" às 13:30. O nome da macro inclui o nome do módulo e do projeto.

Application.OnTime When:=TimeValue("1:30 pm"), _ 
 Name:="VBAProj.Module1.Start"

Confira também

Objeto de Aplicativo

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.