Règle Outlook - Déplacer le courrier en LECTURE et plus ancien que X jours


12

Outlook 2010. Vous souhaitez créer une règle qui déplace tous les messages de ma boîte de réception vers un autre dossier:

  • A été lu
  • Est âgé de plus de X jours

Je regardais l'archivage automatique, mais il ne semble pas me permettre d'être aussi précis avec mes critères.


Quelqu'un pourrait-il transmettre cela à l'équipe Microsoft Outlook?
Jayan

Réponses:


8

La meilleure façon que j'ai trouvée pour le faire en ce moment est de créer un nouveau dossier de recherche avec des critères personnalisés, par exemple avec des éléments modifiés à ou avant une certaine date. Je clique ensuite avec le bouton droit sur le dossier et choisis «Supprimer tout» qui envoie tous les éléments du dossier de recherche dans la corbeille.


Ce n'est pas une réponse, car les messages ne sont pas déplacés vers un dossier, ils sont uniquement déplacés vers le bac .
Pro Backup

5

Les dossiers de recherche sont la réponse, mais le PO a posé des questions sur les messages antérieurs à une date particulière. Si vous utilisez "modifié la semaine dernière", il affiche tout au cours de la dernière semaine et filtre les éléments de plus d'une semaine. Pour l'inverse, utilisez un langage comme:

  • Il y a 8 jours
  • Il ya 1 semaine
  • etc...

entrez la description de l'image ici


Génial, je ne savais pas que vous pouvez écrire un langage naturel pour la valeur!
RipperDoc

4

J'avais cherché quelque chose de similaire. Je dois utiliser une macro car l'archivage automatique est désactivé pour mon installation. Voici ce que j'ai trouvé:

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

Cette macro est attachée à la dernière phase du cycle de vie de l'application; il s'exécute au démarrage d'Outlook. Vous voudrez probablement également le signer (et faire confiance à votre signature) afin de recevoir des plaintes de sécurité.

HTH

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.