Outlook 2010. Deseja criar uma regra que mova todos os emails da minha caixa de entrada para outra pasta:
- Foi lido
- Tem mais de X dias
Eu estava olhando para o arquivamento automático, mas parece não me deixar ser tão específico com meus critérios.
Outlook 2010. Deseja criar uma regra que mova todos os emails da minha caixa de entrada para outra pasta:
Eu estava olhando para o arquivamento automático, mas parece não me deixar ser tão específico com meus critérios.
Respostas:
A melhor maneira que encontrei para fazer isso no momento é criar uma nova Pasta de Pesquisa com critérios personalizados, por exemplo, com itens modificados em ou antes de uma determinada data. Em seguida, clique com o botão direito do mouse na pasta e escolha 'Excluir tudo', que envia todos os itens da pasta de pesquisa para a lixeira.
As pastas de pesquisa são a resposta, no entanto, o OP perguntou sobre o correio anterior a uma data específica. Se você usar "modificado na semana passada", ele mostrará tudo na última semana e filtra os itens com mais de uma semana. Para o inverso disso, use uma linguagem como:
Eu estava procurando por algo semelhante. Preciso usar uma macro, pois o arquivamento automático está desativado para minha instalação. Aqui está o que eu vim com:
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
Essa macro é anexada à última fase do ciclo de vida do aplicativo; ele é executado quando o Outlook é iniciado. Você provavelmente também desejará assiná-lo (e confiar em sua assinatura) para receber reclamações de segurança.
HTH