Aturan Outlook - Memindahkan email yang BACA dan Lebih Tua dari X hari

12

Outlook 2010. Ingin membuat aturan yang memindahkan semua email dari kotak masuk saya ke folder lain:

  • Telah dibaca
  • Lebih tua dari X hari

Saya sedang melihat Pengarsipan Otomatis, tetapi sepertinya tidak membiarkan saya menjadi spesifik dengan kriteria saya ini.

Simon
sumber
Bisakah seseorang meneruskan ini ke tim Microsoft Outlook?
Jayan

Jawaban:

8

Cara terbaik yang saya temukan untuk melakukan ini saat ini adalah membuat Folder Pencarian baru dengan kriteria khusus misalnya dengan item yang dimodifikasi pada atau sebelum tanggal tertentu. Saya kemudian klik kanan folder dan pilih 'Hapus Semua' yang mengirim semua item di Folder Pencarian ke tempat sampah.

leon
sumber
Ini bukan jawaban, karena pesan tidak dipindahkan ke folder, mereka hanya dipindahkan ke tempat sampah .
Pro Backup
5

Folder pencarian adalah jawabannya, namun OP bertanya tentang email yang lebih tua dari tanggal tertentu. Jika Anda menggunakan "modifikasi minggu lalu" maka itu menunjukkan semuanya dalam minggu lalu dan memfilter hal-hal yang lebih tua dari 1 minggu. Untuk kebalikannya, gunakan bahasa seperti:

  • 8 hari yang lalu
  • 1 minggu yang lalu
  • dll ...

masukkan deskripsi gambar di sini

Kucing Biasa
sumber
Hebat, tidak tahu bahwa Anda dapat menulis bahasa alami untuk nilai!
RipperDoc
4

Saya telah mencari sesuatu yang serupa. Saya harus menggunakan makro karena arsip otomatis dinonaktifkan untuk instalasi saya. Inilah yang saya pikirkan:

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

Makro ini melekat pada fase terakhir dari siklus hidup aplikasi; ini berjalan ketika Outlook mulai. Anda mungkin juga ingin menandatanganinya (dan mempercayai tanda tangan Anda) sehingga Anda mendapatkan keluhan keamanan.

HTH

pengguna akhir
sumber