Actualmente tengo mi Outlook configurado con Gmail. Tengo un par de reglas que definí y que se ejecutan en diferentes carpetas (etiquetas) de mi cuenta. Ya tengo filtros configurados en GMail que harán que los correos electrónicos salten la bandeja de entrada y los coloquen en las carpetas respectivas.
Cada vez que recibo un nuevo correo electrónico, en esas carpetas, mis reglas no se ejecutan (son solo para configurar categorías). Tengo que ejecutarlos manualmente. Creo que es porque los correos electrónicos no llegan primero a la bandeja de entrada sino directamente a la carpeta. ¿Existe alguna forma de hacer que Outlook ejecute reglas automáticamente en esas carpetas? Una ejecución programada también debería estar bien.
Respuesta1
Aquí lo tienes. Tenga en cuenta que esto es específico de la carpeta Basura (olFolderJunk es una constante de Outlook) y ejecutará cualquier filtro que cree con el prefijo "JUNK_FILTER_".
Es optimista y prácticamente no tiene verificación de errores, así que úselo bajo su propio riesgo. No lo uses si no lo entiendes :)
Sub runRulesOnJunkFolder()
Dim st As Outlook.Store
Dim myRules As Outlook.Rules
Dim rl As Outlook.Rule
Dim count As Integer
Dim ruleList As String
Dim rulePrefix As String
Dim ruleFolder As Long
'
Dim outlookApp As Outlook.Application
Dim objNS As NameSpace
ruleFolder = olFolderJunk
rulePrefix = "JUNK_FILTER_"
Set objNS = Application.GetNamespace("MAPI")
Set objJunkfolder = objNS.GetDefaultFolder(ruleFolder)
' get default store (where rules live)
Set st = Application.Session.DefaultStore
' get rules
Set myRules = st.GetRules
' iterate all the rules
For Each rl In myRules
' determine if it's an Inbox rule and rule name prefix matches
If rl.RuleType = olRuleReceive And Left(rl.Name, Len(rulePrefix)) = rulePrefix Then
' if so, run it
rl.Execute ShowProgress:=True, Folder:=objJunkfolder
count = count + 1
ruleList = ruleList & vbCrLf & rl.Name
End If
Next
' tell the user what you did
ruleList = "These rules were executed against the folder: " & objJunkfolder.Name & vbCrLf & ruleList
MsgBox ruleList, vbInformation, "Macro: runRulesOnJunkFolder"
Set rl = Nothing
Set st = Nothing
Set myRules = Nothing
Set objJunkfolder = Nothing
Set objNS = Nothing
End Sub
Respuesta2
Las categorías no funcionan correctamente en cuentas IMAP. Cualquier categoría asignada a objetos de Outlook en cuentas IMAP no se sincronizará con el servidor, por lo que solo aparecerá en ese perfil de Outlook en particular en esa cuenta de usuario en particular en esa instalación de Windows en particular. Lo único que realmente puede usar con IMAP y Outlook son los indicadores estándar de activación/desactivación (no los diferentes tipos que admite GMail o Exchange).
Las categorías están diseñadas para usarse con cuentas de Exchange, donde se pueden asignar reglas del lado del cliente y luego sincronizarlas con el servidor. También funcionarán bien con cuentas POP3, donde se asignarán categorías y los correos electrónicos se ordenarán según reglas del lado del cliente.
Como categoríaspoderasignarse (con reglas del lado del cliente) en correos electrónicos que ya se han ordenado en carpetas en un servidor Exchange (usando reglas del lado del servidor), creo que sus reglas no funcionan porque las categorías en realidad no están destinadas a usarse en correos no -Cuentas de cambio.
En mi opinión, no creo que GMail pueda usarse satisfactoriamente con ningún cliente de correo electrónico de escritorio, debido a la forma inusual en que están configurados los buzones IMAP.
Respuesta3
Una forma de hacerlo es configurar una cita recurrente que pueda activar una macro cada vez que aparece el recordatorio. La macro ejecutaría el filtro. Esto parece un poco engorroso con muchas citas en su calendario y es poco probable que lo despidan cuando lo desee. No lo he hecho personalmente, pero estoy seguro de que es posible.
Lo que yotenerLo hecho es crear una macro que ejecute cualquier filtro que tenga un nombre con un prefijo específico en una carpeta específica. La macro elige la carpeta, los filtros deciden la acción (en mi caso, 'eliminar'). Es adaptable por alguien que conozca VBA.
Después de crear la macro, agregué un botón en la barra de herramientas de Outlook que la ejecuta. Hago clic en el botón cada vez que me apetece.
Puedo publicar el código fuente si cree que puede modificarlo para adaptarlo a sus necesidades.
Respuesta4
Puedes configurar esas reglas directamente en GMail:enlace.