PropertyAccessor.SetProperty, méthode (Outlook)

Définit la propriété spécifiée par SchemaName avec la valeur spécifiée par Value.

Syntaxe

expression. SetProperty( _SchemaName_ , _Value_ )

Expression Variable qui représente un objet PropertyAccessor .

Parameters

Nom Requis/Facultatif Type de données Description
SchemaName Requis String Nom d’une propriété dont la valeur doit être définie comme spécifié par le paramètre Value . La propriété est référencée par un espace de noms. Pour plus d’informations, voir Référencer les propriétés par un espace de noms.
Valeur Obligatoire Variant Valeur à définir pour la propriété spécifiée par le paramètre SchemaName .

Remarques

Si la propriété n’existe pas et si SchemaName contient un spécificateur de propriété valide, la méthode SetProperty crée alors la propriété et lui attribue la valeur spécifiée par le paramètre Value. Si la propriété existe et si SchemaName est valide, alors la méthode SetProperty attribue à la propriété la valeur spécifiée par Value.

Notez qu’une propriété personnalisée créée à l’aide de PropertyAccessor n’est pas prise en charge dans une vue personnalisée. Si vous souhaitez afficher une propriété personnalisée sur un élément, créez la propriété à l’aide de la méthode Add de l’objet UserProperties .

Si l’objet parent de l’objet PropertyAccessor prend en charge une opération Save explicite, les propriétés doivent être enregistrées dans l’objet avec un appel explicite de la méthode Save. Si l’objet ne prend pas en charge une opération Save explicite, les propriétés sont enregistrées dans l’objet lorsque la méthode SetProperties est appelée.

Procédez avec précaution et assurez-vous que toutes les exceptions sont traitées correctement. La définition d'une propriété échoue lorsque :

  • la propriété est en lecture seule, comme le sont certaines propriétés Outlook et MAPI ;

  • la propriété référencée par l'espace de noms spécifié est introuvable ;

  • la propriété est spécifiée dans un format non valide et ne peut pas être analysée ;

  • la propriété n'existe pas et ne peut pas être créée ;

  • la propriété existe mais le type de la valeur qui lui est attribuée est incorrect ;

  • la propriété ne peut pas être ouverte, car le client est hors connexion.

  • La propriété est créée à l’aide de la méthode UserProperties.Add . Lorsque vous définissez la propriété pour la première fois, vous devez utiliser la propriété UserProperty.Value au lieu de la méthode SetProperties ou SetProperty de l’objet PropertyAccessor .

Pour plus d’informations sur la définition des propriétés à l’aide de l’objet PropertyAccessor , consultez Meilleures pratiques pour obtenir et définir des propriétés.

Exemple

L’exemple de code suivant montre comment utiliser PropertyAccessor pour affecter une valeur à une propriété personnalisée sur un objet MailItem . Si la propriété personnalisée n’existe pas, PropertyAccessor.SetProperty la crée et la définit. La propriété est enregistrée avec la méthode MailItem.Save .

Sub DemoPropertyAccessorSetProperty() 
 Dim myProp As String 
 Dim myValue As Variant 
 Dim oMail As Outlook.MailItem 
 Dim oPA As Outlook.PropertyAccessor 
 'Get first item in the inbox 
 Set oMail = _ 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 'Name for custom property using the MAPI string namespace 
 myProp = "http://schemas.microsoft.com/mapi/string/" & _ 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/myCustomer" 
 myValue = "Dan Wilson" 
 'Set value with SetProperty call 
 'If the property does not exist, then SetProperty 
 'adds the property to the object when saved. 
 'The type of the property is the type of the element 
 'passed in myValue. 
 On Error GoTo ErrTrap 
 Set oPA = oMail.PropertyAccessor 
 oPA.SetProperty myProp, myValue 
 
 'Save the item 
 oMail.Save 
 Exit Sub 
ErrTrap: 
 Debug.Print Err.Number, Err.Description 
End Sub

Voir aussi

PropertyAccessor, objet

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.