Método Application.OnTime (Word)

Inicia un temporizador en segundo plano que ejecuta una macro a una hora especificada.

Sintaxis

expresión. OnTime( _When_ , _Name_ , _Tolerance_ )

expresión requerida. Variable que representa un objeto Application.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
When Obligatorio Variant Hora a la que va a ejecutarse la macro.
Name Obligatorio String Nombre de la macro que va a ejecutarse.
Tolerance Opcional Variant Período de tiempo máximo, en segundos, que puede transcurrir antes de que se cancele una macro que no se haya ejecutado a la hora especificada por When. Las macros no siempre se ejecutan a la hora especificada. Por ejemplo, si se está efectuado una operación de ordenación o se muestra un cuadro de diálogo, la macro se retrasa hasta que Word haya concluido la tarea. Si este argumento es 0 (cero) o se omite, la macro se ejecuta independientemente del tiempo transcurrido desde la hora especificada por When.

Comentarios

El parámetro When puede ser una cadena que especifica una hora (por ejemplo, "4:30 pm" o "16:30"), o puede ser un número de serie devuelto por una función como TimeValue o TimeSerial (por ejemplo, TimeValue("2:30 pm") o TimeSerial(14, 30, 00)). También puede incluir la fecha (por ejemplo, "6/30 4:15 pm" o TimeValue("6/30 4:15 pm")).

Para el parámetro Name, use la ruta de acceso de macro completa para asegurarse de que se ejecuta la macro correcta (por ejemplo, "Project.Module1.Macro1"). Para que ejecutar la macro, debe estar disponible el documento o la plantilla tanto cuando se ejecute la instrucción OnTime y cuando llegue la hora especificada por When. Por este motivo, es mejor almacenar la macro en la plantilla Normal.dot o en otra plantilla global que se carga automáticamente.

Utilice la suma de los valores devueltos de la función Now y la función TimeValue o TimeSerial para establecer un temporizador para ejecutar una macro en un intervalo de tiempo después de ejecuta la instrucción especificado. Por ejemplo, use Now+TimeValue("00:05:30") para ejecutar una macro 5 minutos y 30 segundos después de ejecutarse la instrucción.

Word puede mantener sólo un temporizador en segundo plano establecido por OnTime. Si inicia otro temporizador antes de que se ejecute uno existente, se cancela el temporizador existente.

Ejemplo:

En este ejemplo se ejecuta la macro denominada "Macro1" del módulo actual a las 3:55 p.m.

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

En este ejemplo se ejecuta la macro denominada "Macro1" 15 segundos después de ejecutarse el ejemplo. El nombre de la macro incluye los nombres del proyecto y del módulo.

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

En este ejemplo, se ejecuta la macro denominada "Start" a la 1:30 p.m. El nombre de la macro incluye los nombres del proyecto y del módulo.

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

Vea también

Objeto Application

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.