Outlook 2010. Tüm postaları gelen kutumdan başka bir klasöre taşıyan bir kural oluşturmak istiyorum:
- Okundu
- X günden daha eski
Otomatik arşivlemeye bakıyordum, ancak kriterlerimle bu kadar spesifik olmamı sağlıyor gibi görünmüyor.
Outlook 2010. Tüm postaları gelen kutumdan başka bir klasöre taşıyan bir kural oluşturmak istiyorum:
Otomatik arşivlemeye bakıyordum, ancak kriterlerimle bu kadar spesifik olmamı sağlıyor gibi görünmüyor.
Yanıtlar:
Şu anda bunu yapmanın en iyi yolu, özel ölçütlerle, örneğin belirli bir tarihte veya daha önce değiştirilmiş öğelerle yeni bir Arama Klasörü oluşturmaktır. Daha sonra klasörü sağ tıklayın ve Arama Klasöründeki tüm öğeleri bölmeye gönderen 'Tümünü Sil'i seçiyorum.
Arama klasörleri yanıttır, ancak OP belirli bir tarihten daha eski postaları sordu . "Geçtiğimiz hafta değiştirildi" kullanırsanız, geçen hafta içindeki her şeyi gösterir ve 1 haftadan eski şeyleri filtreler. Bunun tersine, aşağıdaki gibi bir dil kullanın:
Benzer bir şey arıyordum. Yüklemem için otomatik arşiv devre dışı bırakıldığından bir makro kullanmam gerekiyor. İşte ben geldim:
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
Bu makro, uygulamanın yaşam döngüsünün son aşamasına eklenir; Outlook başladığında çalışır. Muhtemelen imzalamak (ve imzanıza güvenmek) isteyeceksiniz, böylece güvenlik şikayetleri alabilirsiniz.
HTH