leer ejemplos correo application vba outlook outlook-vba outlook-2010

vba - ejemplos - ¿Cómo puedo saber cuándo las Reglas han terminado de procesarse?



vba outlook object properties (1)

Todos los eventos de Outlook están bien documentados dentro del VBE. Simplemente presione F2 para ingresar al Examinador de objetos, luego seleccione la biblioteca de Outlook (en la parte superior del menú desplegable y luego revise todos los eventos disponibles.

Aquí están (por ejemplo) todos los eventos disponibles para la aplicación de Outlook en sí:

Desafortunadamente, te darás cuenta de que no hay ningún evento que ocurra después de las reglas. Los eventos disponibles NewMail y NewMailEx aparecen "[...] cuando llegan nuevos mensajes a la Bandeja de entrada y antes de que se produzca el procesamiento de la regla del cliente". ( https://msdn.microsoft.com/en-us/library/office/ff869202.aspx )

Sin embargo, como señaló @ Om3r, puede hacer uso del hecho de que VBA ejecuta un comando a la vez (línea por línea) y espera a que se complete el comando (antes de pasar al siguiente). Al menos, así es como funciona el VBA a menos que lo obligue a procesar los comandos de manera diferente.

Por lo tanto, puede usar los eventos Application.NewMail o Application.NewMailEx para ejecutar las reglas y luego agregar los comandos VBA que desea ejecutar después de que se hayan procesado las reglas.

Espero que esto resuelva tu problema. Avísame si tienes más preguntas.

Estoy intentando encontrar una forma de desencadenar un sub de VBA una vez, al final del procesamiento de la regla de Outlook. Actualmente estoy usando SyncEnd events , pero parece que esto no funciona correctamente al iniciar Outlook (el SyncEnd dispara antes de que las Reglas se ejecuten en la bandeja de entrada completa, y los elementos de correo aún no están presentes en las carpetas donde mi función espera que ser).

¿Es una forma de capturar un evento de "procesamiento de reglas completado"?