Правило Outlook - переміщайте пошту, яка читається чи старше X днів


12

Outlook 2010. Хочете створити правило, яке переміщує всю пошту з моєї вхідної папки до іншої папки:

  • Був прочитаний
  • Старше X дня

Я дивився на Авто-архівування, але, схоже, не дозволяв мені бути таким конкретним за своїми критеріями.


Чи може хтось переслати це команді Microsoft Outlook?
Джаян

Відповіді:


8

Найкращий спосіб, який я зараз це зробив, - це створити нову папку пошуку за спеціальними критеріями, наприклад, з елементами, зміненими на певну дату або до неї. Потім я клацніть правою кнопкою миші папку і виберіть "Видалити все", яке надсилає всі елементи в папці пошуку до кошика.


Це не відповідь, оскільки повідомлення не переміщуються у папку, вони переміщуються лише до скриньки .
Pro резервне копіювання

5

Пошукові папки - це відповідь, проте ОП запитала про пошту, старшу за певну дату. Якщо ви використовуєте "модифікований минулого тижня", він показує все протягом останнього тижня і фільтрує речі, старші ніж на 1 тиждень. Для зворотного цього використовуйте мову типу:

  • 8 днів тому
  • 1 тиждень тому
  • тощо ...

введіть тут опис зображення


Чудово, не знав, що за цінністю можна написати природну мову!
RipperDoc

4

Я шукав щось подібне. Мені потрібно використовувати макрос, оскільки автоматичний архів відключений для моєї установки. Ось що я придумав:

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

Цей макрос додається до останньої фази життєвого циклу програми; він запускається при запуску програми Outlook. Ви, ймовірно, також захочете підписати його (і довірити свій підпис), щоб ви отримали скарги на безпеку.

HTH

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.