Regola di Outlook: sposta i messaggi READ e precedenti a X giorni


12

Outlook 2010. Vuoi creare una regola che sposta tutta la posta dalla mia posta in arrivo in un'altra cartella:

  • È stato letto
  • È più vecchio di X giorni

Stavo guardando l'archiviazione automatica, ma non mi sembra essere così specifico con i miei criteri.


Qualcuno potrebbe inoltrarlo al team di Microsoft Outlook?
Jayan,

Risposte:


8

Il modo migliore che ho trovato per fare questo al momento è creare una nuova cartella di ricerca con criteri personalizzati, ad esempio con elementi modificati entro una certa data o prima. Quindi faccio clic con il pulsante destro del mouse sulla cartella e scelgo "Elimina tutto" che invia tutti gli elementi nella cartella di ricerca nel cestino.


Questa non è una risposta, poiché i messaggi non vengono spostati in una cartella, ma vengono spostati solo nel cestino .
Pro Backup

5

Le cartelle di ricerca sono la risposta, tuttavia l'OP ha chiesto informazioni sulla posta precedente a una data specifica. Se usi "modificato la scorsa settimana", mostra tutto nell'ultima settimana e filtra le cose più vecchie di 1 settimana. Per il contrario, usa un linguaggio come:

  • 8 giorni fa
  • 1 settimana fa
  • eccetera...

inserisci qui la descrizione dell'immagine


Fantastico, non sapevo che puoi scrivere il linguaggio naturale per il valore!
RipperDoc

4

Stavo cercando qualcosa di simile. Devo usare una macro poiché l'archiviazione automatica è disabilitata per la mia installazione. Ecco cosa mi è venuto in mente:

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

Questa macro è allegata all'ultima fase del ciclo di vita dell'applicazione; viene eseguito all'avvio di Outlook. Probabilmente vorrai anche firmarlo (e fidarti della tua firma) in modo da ricevere reclami sulla sicurezza.

HTH

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.