Outlook 2010. Desea crear una regla que mueva todo el correo de mi bandeja de entrada a otra carpeta:
- Ha sido leido
- Tiene más de X días
Estaba mirando el archivo automático, pero no parece que me permita ser tan específico con mis criterios.
Outlook 2010. Desea crear una regla que mueva todo el correo de mi bandeja de entrada a otra carpeta:
Estaba mirando el archivo automático, pero no parece que me permita ser tan específico con mis criterios.
Respuestas:
La mejor manera que he encontrado para hacer esto en este momento es crear una nueva Carpeta de búsqueda con criterios personalizados, por ejemplo, con elementos modificados en una fecha determinada o antes. Luego hago clic derecho en la carpeta y elijo 'Eliminar todo' que envía todos los elementos de la carpeta de búsqueda a la papelera.
Las carpetas de búsqueda son la respuesta, sin embargo, el OP preguntó sobre el correo anterior a una fecha en particular. Si usa "modificado la semana pasada", muestra todo en la última semana y filtra cosas anteriores a 1 semana. Para lo inverso, usa un lenguaje como:
Había estado buscando algo similar. Tengo que usar una macro ya que el archivo automático está desactivado para mi instalación. Esto es lo que se me ocurrió:
Option Explicit
Private Sub Application_MAPILogonComplete()
' this runs on app startup
Const MSG_AGE_IN_DAYS = 7
Dim oFolder As Folder
Dim oFilteredItems As Outlook.Items
Dim oItem As MailItem
Dim oDate As Date
oDate = DateAdd("d", -MSG_AGE_IN_DAYS, Now())
oDate = Format(oDate, "mm/dd/yyyy")
' you can use this command to select a folder
'Set oFolder = Application.Session.PickFolder
Set oFolder = Me.Session.Folders.GetFirst
' shows all the folder names
'For Each fldr In oFolder.Folders
' Debug.Print fldr.Name
'Next fldr
' this was the sub-folder I wanted to cleanup.
Set oFolder = oFolder.Folders("Storage").Folders("batch runs")
Debug.Print "checking " & oFolder.FolderPath
Debug.Print "for msgs older than " & oDate
' you can modify the filter to suit your needs
Set oFilteredItems = oFolder.Items.Restrict("[Received] <= '" & oDate & "' And [Unread] = True")
Debug.Print "removing " & oFilteredItems.Count & " items"
While oFilteredItems.Count > 0
Set oItem = oFilteredItems.GetFirst
Debug.Print " " & oItem.UnRead & " " & oItem.Subject
' the remove method permanently deletes the item.
oFilteredItems.Remove 1
'Debug.Print oFilteredItems.Count & " items left"
Wend
Debug.Print ". end"
Set oFolder = Nothing
Set oFilteredItems = Nothing
Set oItem = Nothing
End Sub
Esta macro se adjunta a la última fase del ciclo de vida de la aplicación; se ejecuta cuando se inicia Outlook. Probablemente también desee firmarlo (y confiar en su firma) para que pueda recibir quejas de seguridad.
HTH