betrifft MS Outlook |
Problembeschreibung:
Wenn Kontakte im Kontakte-Ordner angelegt werden, sind diese im Adressbuch für z. B. Email-Versand verfügbar. Wie Kontakte im Adressbuch (bei Email-Versand) angezeigt und gesucht werden können, hängt von dem Feld 'Subject' ab, was jedoch vom normalen Benutzer im Kontakte-Ordner nicht beeinflusst werden kann. Das Ergebnis ist, dass man zwar angeben kann, dass ein Kontakt mit 'Nachname, Vorname' gespeichert werden soll, in der Adress-Auswahl beim Email-Versand wird aber trotzdem immer 'Vorname Nachname' angezeigt.
Lösungsidee
Das Feld 'Subject' des Kontakte-Objekts wird mittels VBA aus den entsprechenden Kontakt-Feldern gesetzt. Der folgende Programmcode beschreibt das Subject-Feld mit den Werten aus Nachname und Vorname des Kontakt-Objekts. Somit werden die Namen im Adressbuch nach Nachname sortiert.
Programmcode
'Programmcode, der das Subject-Feld mit Nachname, Vorname setzt, um die entsprechende Sortierung im Adressbuch zu erreichen
Sub Kontakte_fuer_Adressbuch_konfigurieren()
'Setzt das Subject der Kontaktobjekte auf Nachname, Vorname für eine bessere Übersicht im Adressbuch
Dim Namensraum As NameSpace 'Namensraum
Dim Kontakte As MAPIFolder 'Ordner "Kontakte"
Dim Kontakt As ContactItem 'Kontakt-Objekt
'Namensraum setzen und Kontakte-Ordner ermitteln
Set Namensraum = GetNamespace("MAPI")
Set Kontakte = Namensraum.GetDefaultFolder(olFolderContacts)
'Jeden Kontakt bearbeiten, Verteilerlisten aber auslassen
For Each Kontakt In Kontakte.Items.Restrict("[MessageClass] = 'IPM.Contact'")
Kontakt.Subject = Kontakt.LastNameAndFirstName
Kontakt.Save
Next Kontakt
'Speicher freigeben
Set Kontakte = Nothing
Set Namensraum = Nothing
MsgBox "Fertig.", vbOKOnly + vbInformation
End Sub