É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 :
Dans un premier temps, cet exemple de code vise à obtenir tous les éléments du dossier Contacts par défaut.
Il utilise Items.Restrict pour filtrer les éléments de contact de tous les éléments du dossier Contacts par défaut.
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.