Regra do Outlook - Mover email que está LIDO e mais antigo que X dias

12

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.

Simon
fonte
Alguém poderia encaminhar isso para a equipe do Microsoft Outlook?
Jayan

Respostas:

8

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.

leon
fonte
Isso não é uma resposta, porque as mensagens não são movidas para uma pasta, elas são movidas apenas para a lixeira .
Pro Backup
5

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:

  • 8 dias atrás
  • 1 semana atrás
  • etc ...

insira a descrição da imagem aqui

Gato plano
fonte
Ótimo, não sabia que você pode escrever em linguagem natural pelo valor!
RipperDoc 7/08
4

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

usuário final
fonte