Dubletten entfernen

Egal ob Sie nun zwei Desktops nutzen, ein Merge per EXMERGE oder Recovery Storage Group machen oder einfach mal wieder mit ActiveSync ihr Postfach synchronisiert haben, es kann immer mal passieren, dass Sie plötzlich alle Daten "doppelt" haben.

Gerade ActiveSync kann hier leicht zu doppelten Daten führen, wenn man die komplette Partnerschaft "falsch" beendet. Wer die Partnerschaft einfach löscht, erhält die Daten auf dem PDA und bei der nächsten Paarung sind alle Daten doppelt, sofern man diese vorab nicht auf dem PDA löscht.

PDA ActiveSync Partnerschaft beenden  PDA ActiveSync Einzelobjekte deaktivieren

Entfernt man aber vorab erst die einzelnen Datenquellen, dann fragt löscht der PDA die Daten nach einer Rückfrage. Dann steht einer neuen Synchronisation auch nichts im Wege. Eine ähnliche Dialogbox bekommen Sie, wenn Sie diese Einstellungen über den Desktop Client durchführen:

Dubletten verhindern mit ActiveSync

Ein manuelles Löschen ist jedoch nur bei wenigen Terminen ein gangbarer Weg. Aber zum Glück gibt es entsprechende Tools um dieses Malheur auch automatisch zu lösen. Die hier vorgestellten Programme sind "Freeware". Kommerzielle Programme finden Sie bei den weiteren Links. Alle Programme bearbeiten nur das eigene aktuelle Postfach und löschen nicht serverseitig Duplikate in vielen Postfächern.

Machen Sie auf jeden Fall eine Datensicherung ihrer Inhalte, denn jede Software kann bei einem Fehler auch andere Informationen löschen. Auch das Finden der Dubletten ist nicht immer fehlerfrei !

Dubletten mit Outlook VBA löschen

Man muss kein Profiprogrammierer sein, um mit Outlook Visual Basic für Applications Lösungen zu schaffen. Folgendes kleines Modul kann sehr einfach gleichnamige Objekte erkennen und löschen. Folgender Weg führt zum Ziel:

  1. Outlook starten
  2. ALT-F11 drücken um die Entwicklerumgebung zu starten
  3. Über das Menü unter "Extras" - "Verweise" Die Microsoft Scripting Runtime aktivieren
  4. Das folgende Makro in den Code-Editor kopieren und ggfls. anpassen
    Schauen Sie sich das Makro an um die Regeln zu verstehen, anhand derer Dubletten erkannt werden und passen Sie diese eventuell an.
  5. Das Marko starten
    Es fragt extra nach, in welchem Ordner nach Duplikaten gesucht werden soll

Hier ist das Makro:

Option Explicit

' Microsoft Scripting Runtime muss gebunden werden 
' (Extras - Verweise - Microsoft Scripting Runtime aktivieren)


Sub DupeKiller()

' Skript fordert Auswahl eines Ordners auf
' Sucht alle mails mit gleichem Betreff und Sendedatum

    ' Dim Folder and ask user to select the folder
    Debug.Print "--- Pick Folder to check für duplicates"
    Dim objfolder As MAPIFolder
    Set objfolder = Outlook.GetNamespace("MAPI").PickFolder
  
    ' Create a dictionary instance.
    Debug.Print "--- Initializing Dictionary"
    Dim dict As Dictionary
    Set dict = New Dictionary
    dict.CompareMode = BinaryCompare
  
    Debug.Print "--- Loading Items"
    Dim items As items
    Set items = objfolder.items
    
    Dim Item As Object  ' Generic object
    Set Item = items.GetLast
    
    Dim key As String
    Do While Not Item Is Nothing
        If InStr(1, Item.MessageClass, ".SMIME", vbTextCompare) > 0 Then
            key = Item.subject
        ElseIf InStr(1, Item.MessageClass, "IPM.Note", vbTextCompare) > 0 Then
            Debug.Print "  Handling Note"
            key = Item.subject & vbTab & Item.SentOn
        ElseIf InStr(1, Item.MessageClass, "IPM.Appointment", vbTextCompare) > 0 Then
            Debug.Print "  Handling Appointment"
            key = Item.subject & vbTab & Item.Start & vbTab & Item.End
        Else
            key = ""
        End If
        If key <> "" Then
            Debug.Print "Item:" & key
            If dict.Exists(key) Then
                Debug.Print "  Duplicate Found. DELETE"
                'Item.Delete
            Else
                Debug.Print "  First occurence. Add to Dictionary"
                dict.Add key, True
            End If
        Else
            Debug.Print "  Skip Mesageclass:" & Item.MessageClass
        End If
        Set Item = items.GetPrevious
    Loop
        
End Sub

Allerdings ist es wirklich nur ein Muster ohne weitergehende Prüfungen. Ein Vergleich nur anhand des "Betreffs" ist Kontakte vielleicht noch hinreichend aber sicher nicht für Mails oder Termine. Aber da es Quellcode ist, können Sie hier natürlich ganz einfach ihre eigene Logik implementieren. Siehe auch Outlook VBA.

MODupRemover

Da auf der Webseite http://www.mobackup.de/moduplicateremover/shots.html schon sehr umfangreiche Screenshots sind, spare ich mir hier die wiederholen. Mein Kollege hat diese Tool bei einem Kunden eingesetzt und konnte mir vermelden, dass es problemlos und im Sinne des Kunden funktioniert hat. Danke an den Autor für die kostenfreie Bereitstellung dieses Tools

Outlook Tools

Dieses Hilfsprogramm für Windows leistet eine ganze Menge mehr als nur Duplikate entfernen. Es kann auch Anlagen in einen Ordner extrahieren, Schulferien importieren, Texte suchen und ersetzen und einiges mehr. Die Freeware Version erlaubt Ihnen immer nur die Auswahl eines Ordners, um Duplikate zu entfernen.

Alles in allem ein schönes gelungenes Programm und das ganze für einen günstigen Preis. Vielleicht ist gerade das ein Grund sich die Vollversion genauer anzuschauen.

Outlook Tools
http://www.schultz-it.de/uebersicht/OutlookTools.htm
Freeware Version. Vollversion für 30 Euro

ODIR Outlook Duplicate Items Remover

Zur Installation dieses kostenfreien AddOns muss Outlook beendet sein, da es als Outlook Addin realisiert ist. Nach der Installation taucht es als neues Menü in Outlook auf.

Nach dem Aufruf sind sie aufgefordert, den entsprechenden Ordner auszuwählen, in denen das Programm Dubletten entfernen soll. Das Programm kann auch öffentliche Ordner durchsuchen.

Auch dieses Programm erfüllt seine Aufgabe ohne Probleme. Auf der zweiten Karteikarte wird direkt beschrieben, wie das Programm die doppelten Einträge erkennt:

Auch dieses Programm macht einen sehr ausgereiften Eindruck.

ODIR Outlook Dublettenlöscher
http://www.vaita.com/ODIR.asp

ODR5

Das dritte Programm in der Reihe der Dubletten Entferner ist ODR5. Der Entwickler war früher mal ein professioneller Programmierer (MCD), ehe er nun als Priester in einer Kirche arbeitet. ORD5 ist daher Prayerware, d.h.  man möge für ihn beten.

 

Leider gibt es zum Programm selbst wohl keine offizielle Homepage mehr, so dass einige andere Webseiten Kopien vorhalten.

http://www.mailexchanger.net/mailtools/Outook/OutlookDuplicatesRemover/ODR5/
http://www.slipstick.com/files/ODR5.EXE

Dubletten mit IMAP4

Einen anderen Weg geht z.B. der imapduplicateremover von Stefan Kittel, welcher universell für IMAP4 Konten funktioniert. Das Skript verbindet sich per IMAP4 und sucht Dubletten um dann diese nur als "zum Löschen" zu markieren. IMAP4 kennt solche StatusBits. Die Mails sind dann meist auf dem normalen Mailclient "durchgestrichen" und können mit dem Mailclient betrachtet und dann auch permanent gelöscht werden.- 

Weitere Programme