mathe172
Goto Top

Outlook 2010 - Alle älteren Nachrichten im Ordner mit gleichem Betreff automatisch löschen

Hallo zusammen,
wie ihr wahrscheinlich wisst, bekommt man bei jeder Beantwortung eines Threads im Forum eine E-Mail, wenn man dort auch eine Antwort geschrieben hat.

Diese E-Mails verschiebe ich per Regel in einen Ordner.
Nun möchte ich aber automatisch alle älteren Nachrichten - gelesen oder nicht - die den gleichen Betreff haben (also vom gleichen Thread stammen) löschen.
Ziel wäre es also, immer nur eine Nachricht pro Thread zu haben.
Ist so etwas möglich? Wenn ja, wie? Gibt es ein Event, das man benutzen kann, um die E-Mails per VBA löschen zu lassen? (Also etwa: Wenn Regel angewendet wurde, prüfe alle E-Mails im Ordner und lösche ältere mit gleichem Betreff)

MfG,
Mathe172

Content-Key: 168715

Url: https://administrator.de/contentid/168715

Printed on: April 19, 2024 at 06:04 o'clock

Member: Clijsters
Clijsters Jun 27, 2011 at 21:46:56 (UTC)
Goto Top
hmm...
Auch wenn VBA nicht ganz mein Ding ist, könnte es denke ich ungefähr so gehen... Gilt nur als Anreiz..
DateToMove = "1.1.1920" 'Alles, was vor oder an diesem Tag gesendet wurde, wird gelöscht.  

Set myNameSpace = myOlApp.GetNamespace("MAPI")  

Set Items = myNameSpace.GetDefaultFolder(olFolderInbox).Items
Set Müllordner = Outlook.Session.Folders("Gelöschte Objekte")  


Set myItem = Items.Find(" [SentOn] <= '" & DateToMove & "'")  

Do Until MyItem.ENDEWIEAUCHIMMERDASHIERHEISST
  myItem.Move Müllordner
  Set myItem = myItems.FindNext
Loop
... Wie du jetzt mehrfach auftretende Betreffs suchen kannst, kann ich dir auch nicht sagen.
Gruß
Dominique
Member: mathe172
mathe172 Jun 29, 2011 at 12:16:02 (UTC)
Goto Top
Hallo,

danke, ich habs jetzt geschafft!
Ich habe bei der Regel hinzugefügt, dass ein Skript ausgeführt wird, welches folgenden Code hat:
Sub NewAdministratorEmail(Mail As MailItem)
    For Each Email In Outlook.Session.Folders.Item(1).Folders.Item(2).Folders.Item(1).Items ' Pfad zum Zielordner, in dem die Emails sind  
        If Mail.Subject = Email.Subject And Mail.ReceivedTime <> Email.ReceivedTime Then
            Email.Delete
        End If
    Next
End Sub

MfG,
Mathe172