Partager via


Énumérer le dossier contacts et définir la propriété personnalisée pour les éléments de contact uniquement

Un dossier Outlook peut contenir des éléments de plusieurs classes de message. Ainsi, par défaut, vous pouvez créer des éléments de contact et des éléments de liste de distribution dans le dossier Contacts. Si vous voulez appliquer systématiquement une action aux seuls éléments de contact ou aux seuls éléments de liste de distribution contenus dans le dossier, vous devez vérifier la classe de message de chaque élément du dossier avant d'appliquer l'action.

Cette rubrique fournit un exemple de code qui montre comment utiliser la classe de message d'un élément pour identifier les éléments de contact, et comment définir un champ Affiliation défini par l'utilisateur pour tous les éléments de contact contenus dans le dossier Contacts. Cette procédure comprend les étapes suivantes :

  1. Dans un premier temps, cet exemple de code vise à obtenir tous les éléments du dossier Contacts par défaut.

  2. Il utilise Items.Restrict pour filtrer les éléments de contact de tous les éléments du dossier Contacts par défaut.

  3. Pour chaque élément de contact, il utilise UserProperties.Add pour ajouter un champ défini par l’utilisateur Affiliation et le définit en fonction de l’existence d’un numéro de téléphone personnel. S'il n'existe pas de numéro de téléphone personnel pour l'élément, la propriété Affiliation reçoit la valeur Business ; sinon, le champ est affecté de la valeur Personal.

Remarques

Pour exécuter cet exemple de code, placez le code dans le module intégré ThisOutlookSession. Exécutez la SetAffiliationForContacts procédure.

Notez que s'il existe déjà un champ nommé Affiliation, celui-ci est remplacé par l'exécution de cet exemple.

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

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.