Outlook 2010. Хочете створити правило, яке переміщує всю пошту з моєї вхідної папки до іншої папки:
- Був прочитаний
- Старше X дня
Я дивився на Авто-архівування, але, схоже, не дозволяв мені бути таким конкретним за своїми критеріями.
Outlook 2010. Хочете створити правило, яке переміщує всю пошту з моєї вхідної папки до іншої папки:
Я дивився на Авто-архівування, але, схоже, не дозволяв мені бути таким конкретним за своїми критеріями.
Відповіді:
Найкращий спосіб, який я зараз це зробив, - це створити нову папку пошуку за спеціальними критеріями, наприклад, з елементами, зміненими на певну дату або до неї. Потім я клацніть правою кнопкою миші папку і виберіть "Видалити все", яке надсилає всі елементи в папці пошуку до кошика.
Пошукові папки - це відповідь, проте ОП запитала про пошту, старшу за певну дату. Якщо ви використовуєте "модифікований минулого тижня", він показує все протягом останнього тижня і фільтрує речі, старші ніж на 1 тиждень. Для зворотного цього використовуйте мову типу:
Я шукав щось подібне. Мені потрібно використовувати макрос, оскільки автоматичний архів відключений для моєї установки. Ось що я придумав:
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