Crear una regla de Outlook que se ejecute DESPUÉS de mover el correo a una carpeta específica

5

¿Hay alguna forma de crear una regla para Outlook (2013) que se ejecutará después de mover el correo a una carpeta específica?

Motivación: Necesito tener reglas que muevan el correo de una dirección específica a una carpeta específica y lo marque como leído. La regla para esto es simple, pero tiene una gran desventaja: esta regla debe ser solo del cliente, se ejecuta solo si la aplicación de Windows Outlook se está ejecutando. Y por lo tanto en el dispositivo móvil tendrás todo desorden en la bandeja de entrada. Así que necesito una regla de servidor para mover los correos a la carpeta - HECHO. Y una regla para hacer que se lean, y esta regla debe activarse después de mover el correo a la carpeta.

Muchas gracias

Cicik
fuente
Para aclarar, ¿está buscando una manera de ejecutar una regla del lado del servidor (mover mensajes) seguida de una regla del lado del cliente (marcar como leída)? ¿Y quieres que esto suceda automáticamente? ¿Sin Outlook corriendo?
Twisty Impersonator
Para el lado del servidor, sí, ya está hecho. Para el lado del cliente, ninguna regla no puede ejecutarse sin Outlook (no sé cómo crear dicha regla). El problema principal es activar la regla después de mover el correo a una carpeta específica.
Cicik

Respuestas:

2

No hay forma directa utilizando solo reglas. Puede tener una regla de "movimiento" del lado del servidor, pero las reglas de Outlook no se activan en eventos distintos al correo entrante / saliente.

Lo que realmente puede hacer es crear una secuencia de comandos de VBA que se activará en los nuevos elementos en esa carpeta "hecha" en particular y marcarlos como leídos. Pero esto solo se ejecutará en el cliente. Algo como esto (para la subcarpeta Inbox \ DONE):

Public WithEvents FolderItems As Outlook.Items

Private Sub Application_Startup()
   Set FolderItems = Session.GetDefaultFolder(olFolderInbox).Folders("DONE").Items
End Sub

Private Sub FolderItems_ItemAdd(ByVal Item As Object)
    On Error Resume Next
    If Item.UnRead Then
        Item.UnRead = False
        Item.Save
    End If
End Sub

La forma más compleja es crear una herramienta del lado del servidor que supervise esta carpeta "hecho" y marque periódicamente los elementos como leídos, esto se puede hacer en una forma de Servicio de Windows o simplemente un script independiente que puede ejecutar con el Programador de Windows. por ejemplo. También puede utilizar herramientas de terceros para eso.

thims
fuente
Gracias, VBA script está bien para mí. ¿Me puede dar una pequeña dirección a este guión?
Cicik
Lo hice como complemento C #, pero básico es de ti. Gracias
Cicik