Outlook verwendet bei Kontakten einen Schalter gelesen/ungelesen wie auch bei Mails. Wenn der Kontakt allerdings als gelesen markiert ist, gibt es keinen (mir bekannten) Weg dies über die Menüstruktur von Outlook wieder auf ungelesen zu ändern. Da mich ein Kunde fragte wie dies möglich sei, habe ich dazu einen kleinen VBA-Makro entworfen der dies erlaubt.
Ich habe dabei zwei Varianten gewählt, einmal für einzelne Kontakte und dann für einen ganzen Kontaktordner. Realisiert habe ich das Ganze unter Microsoft Office 2007. Abwärtskompatibilität habe ich nicht getestet.
Der Code für die Änderung in einem Kontaktordner lautet:
Sub Kontakt_ungelesen()
Set myOlApp = Outlook.Application
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myFolder = _
myNameSpace.GetDefaultFolder(olFolderContacts)
Set myNewFolder = myFolder.Folders("Ungelesen_machen")
For I = 1 To myNewFolder.Items.Count
Set CurItem = myNewFolder.Items.Item(I)
CurItem.UnRead = True
CurItem.Save
Next
Hierbei muss man unterhalb seines Kontakteordners einen Unterordner mit Namen "Ungelesen_machen" erstellen. In diesen Ordner kopiert man alle Kontakt hinein, die ungelesen markiert werden sollen. Dann führt man den Makro aus und alle Kontakte in diesem Unterordner sind ungelesen. Wenn man die Kontakte dann wieder verschiebt ("Drag and Drop" oder "Cut and Paste") bleibt die Ungelesen-Markierung erhalten. Erst wenn man einen Kontakt per Doppelklick öffnet wird er wieder als gelesen markiert.
Die Lösung für einen einzelnen Kontakt sieht wie folgt aus:
Sub Kontakt_ungelesen_Einzel()
Set myOlApp = Outlook.Application
If Not TypeName(myOlApp.ActiveInspector) = "Nothing" Then
myOlApp.ActiveInspector.CurrentItem.UnRead = True
End If
End Sub
Hierbei wird der Kontakt den man gerade geöffnet hat als ungelesen markiert.
Wenn man die Makros dann noch als Button in die Menüleiste integriert, ist die Steuerung auch recht komfortabel.
Ich hatte auch mit Formularen experimentiert, allerdings war mir das Manipulieren der Standardformulare etwas zu heikel. Das Verwenden benutzerdefinierter Formulare für bereits bestehende Einträge finde ich zu umständlich, daher war für mich die Makrolösung passend.
Über Sinn und Unsinn des Ganzen lässt sich bei Kontakten streiten. Über Filtern der Ansicht könnte man aber z. B. nur ungelesene Kontakte anzeigen um so z. B. einen Mitarbeiter auf neue oder zu überarbeitende Kontakte hinzuweisen.
Neuen Kommentar schreiben