Okay, ich habe gerade mein erstes Outlook-Makro geschrieben - also beschuldigen Sie mich nicht, wenn es alle Ihre Mails löscht. Sichern Sie, bevor Sie es versuchen! :)
Gehen Sie in Outlook zu Extras> Makros> Makro . Geben Sie den Namen ein, den Sie dem Makro geben möchten. Ich habe meine "Delete_Old_Notifications" genannt.
Hier ist der Makro-Code, den ich geschrieben habe:
Sub Delete_Old_Notification()
Dim ns As Outlook.NameSpace
Set ns = Application.GetNamespace("MAPI")
Dim inbox As Outlook.MAPIFolder
Set inbox = ns.GetDefaultFolder(olFolderInbox)
Dim item As Object 'Outlook.MailItem
Dim Action As Integer
Dim Categories, Category
Action = 0
For Each item In inbox.Items
If Len(item.Categories & "") > 0 Then
Categories = Split(item.Categories, ";")
For Each Category In Categories
Select Case LCase(Trim(Category))
Case "notification":
If DateDiff("d", item.ReceivedTime, Now) > 14 Then
Action = 1
End If
End Select
Next
End If
Select Case Action
Case 1: MsgBox ("Delete '" & item.Subject & "'") 'item.Delete
End Select
Action = 0
Next
End Sub
(Könnte kürzer sein, ja - aber ich habe es so gebaut, dass es erweiterbar ist.)
Anmerkungen:
- Es sieht im Standard-Posteingang aus. Wenn Sie einen anderen Ordner möchten, müssen Sie den Ordner "Posteingang festlegen" ändern. Um in Unterordnern des Posteingangs zu suchen, fügen Sie am Ende der Zeile .Folders ("Ordnername") hinzu
- Derzeit wird geprüft, ob die E-Mail eine Kategorie "Benachrichtigung" hat. Wenn Sie eine andere Kategorie wünschen, fügen Sie diese in den Fall ein . Machen Sie es einfach in Kleinbuchstaben, weil ich sie alle in Kleinbuchstaben konvertiere - nur um sicherzugehen.
- Derzeit sind E-Mails ab einem Alter von 14 Tagen betroffen. Das sehen Sie in der Zeile If DateDiff .
Derzeit wird nicht gelöscht, sondern nur eine Benachrichtigung angezeigt. Damit es tatsächlich funktioniert, müssen Sie die MsgBox am unteren Rand des Sub entfernen und die Zeile wie folgt beibehalten:
Case 1: item.Delete
Vielleicht möchten Sie sich diese beiden Forenbeiträge ansehen, um herauszufinden, ...