Regra do Outlook - Mover e-mail que é READ e mais antigo que X dias

12

Outlook 2010. Deseja criar uma regra que mova todos os e-mails da minha caixa de entrada para outra pasta:

  • foi lido
  • tem mais de X dias

Eu estava olhando para o arquivamento automático, mas não parece me deixar ser tão específico com meus critérios.

    
por Simon 07.04.2011 / 03:18

3 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, clico com o botão direito do mouse na pasta e escolho 'Delete All', que envia todos os itens da pasta de pesquisa para o bin.

    
por 09.11.2011 / 09:59
5

As pastas de pesquisa são a resposta, mas o OP perguntou sobre o correio anterior a uma data específica. Se você usar "modificado na semana passada", ele mostra tudo na última semana e filtra as coisas com mais de uma semana. Para o inverso que, use linguagem como:

  • há 8 dias
  • há 1 semana
  • etc ...

    
por 27.05.2014 / 17:13
4

Eu estava procurando por algo similar. Eu tenho que usar uma macro como o arquivo automático está desabilitado para a minha instalação. Aqui está o que eu criei:

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 está anexada à última fase do ciclo de vida da aplicação; 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

    
por 17.09.2012 / 17:00