Auflisten des Kontaktordners und Festlegen der benutzerdefinierten Eigenschaft für nur Kontaktelemente

An Outlook folder can contain items of more than one message class. For example, by default, you can create contact items and distribution list items in the Contacts folder. Wenn Sie eine Aktion systematisch nur auf die Kontaktelemente oder nur auf die Verteilerlistenelemente im Ordner anwenden möchten, müssen Sie vor dem Anwenden der Aktion die Nachrichtenklasse der einzelnen Elemente im Ordner überprüfen.

Dieses Thema zeigt ein Codebeispiel, das die Nachrichtenklasse eines Elements verwendet, um Kontaktelemente zu identifizieren und ein benutzerdefiniertes Feld "Affiliation" für alle Kontaktelemente im Ordner "Kontakte" festlegt. The following describes the process:

  1. The code sample gets all the items in the default Contacts folder.

  2. It uses Items.Restrict to filter contact items from all the items in the default Contacts folder.

  3. Für jedes Kontaktelement wird mithilfe von UserProperties.Add ein benutzerdefiniertes Affiliation -Feld hinzugefügt, das basierend auf dem Vorhandensein einer privaten Telefonnummer festgelegt wird. Wenn keine private Telefonnummer für das Element vorhanden ist, wird die Affiliation -Eigenschaft auf Business festgelegt; anderenfalls wird das Feld auf Personal festgelegt.

HinwBemerkungeneise

Zum Ausführen dieses Codebeispiels platzieren Sie den Code im integrierten ThisOutlookSession -Modul. Führen Sie die SetAffiliationForContacts-Prozedur aus.

Beachten Sie, dass ein eventuell bereits vorhandenes Feld namens Affiliation beim Ausführen dieses Beispiels überschrieben wird.

Sub SetAffiliationForContacts() 
 Dim ns As NameSpace 
 Dim foldContact As Folder 
 Dim itemContact As ContactItem 
 Dim colItems As Outlook.Items 
 Dim myProperty As Outlook.UserProperty 
 
 Set ns = Application.GetNamespace("MAPI") 
 Set foldContact = ns.GetDefaultFolder(olFolderContacts) 
 Set colItems = foldContact.Items.Restrict("[MessageClass]='IPM.Contact'") 
 
 For Each itemContact In colItems 
 ' Add user property to contact items 
 Set myProperty = itemContact.UserProperties.Add("Affiliation", olText) 
 If itemContact.HomeTelephoneNumber = "" Then 
 myProperty = "Business" 
 Else 
 myProperty = "Personal" 
 End If 
 itemContact.Save 
 Next 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.