Objet PropertyAccessor (Outlook)
Permet de créer, obtenir, définir et supprimer des propriétés d’objets.
Remarques
Utilisez l’objet PropertyAccessor pour obtenir et définir des propriétés au niveau de l’élément qui ne sont pas explicitement exposées dans le modèle objet Outlook, ou des propriétés pour les objets non-élément suivants : AddressEntry, AddressList, Attachment, ExchangeDistributionList, ExchangeUser, Folder, Recipient et Store.
Pour obtenir ou définir plusieurs propriétés personnalisées, utilisez l’objet PropertyAccessor au lieu de l’objet UserProperties pour de meilleures performances.
Pour plus d'informations sur l'utilisation de l'objet PropertyAccessor, voir Présentation des propriétés.
Exemple
L’exemple de code suivant montre comment utiliser la méthode PropertyAccessor.GetProperty pour lire une propriété MAPI qui appartient à un objet MailItem , mais qui n’est pas exposée dans le modèle objet Outlook, PR_TRANSPORT_MESSAGE_HEADERS.
Sub DemoPropertyAccessorGetProperty()
Dim PropName, Header As String
Dim oMail As Object
Dim oPA As Outlook.PropertyAccessor
'Get first item in the inbox
Set oMail = _
Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
'PR_TRANSPORT_MESSAGE_HEADERS
PropName = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
'Obtain an instance of PropertyAccessor class
Set oPA = oMail.PropertyAccessor
'Call GetProperty
Header = oPA.GetProperty(PropName)
Debug.Print (Header)
End Sub
L’exemple de code suivant montre comment la méthode PropertyAccessor.SetProperties définit les valeurs de plusieurs propriétés. Si une propriété n’existe pas, la méthode SetProperties la crée à condition que l’objet parent prenne en charge la création de propriétés. Si l'objet prend en charge une opération Save explicite, les propriétés sont enregistrées dans l'objet dès lors que l'opération Save explicite est appelée. 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.
Sub DemoPropertyAccessorSetProperties()
Dim PropNames(), myValues() As Variant
Dim arrErrors As Variant
Dim prop1, prop2, prop3, prop4 As String
Dim i As Integer
Dim oMail As Outlook.MailItem
Dim oPA As Outlook.PropertyAccessor
'Get first item in the inbox
Set oMail = _
Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
'Names for properties using the MAPI string namespace
prop1 = "http://schemas.microsoft.com/mapi/string/" & _
"{FFF40745-D92F-4C11-9E14-92701F001EB3}/mylongprop"
prop2 = "http://schemas.microsoft.com/mapi/string/" & _
"{FFF40745-D92F-4C11-9E14-92701F001EB3}/mystringprop"
prop3 = "http://schemas.microsoft.com/mapi/string/" & _
"{FFF40745-D92F-4C11-9E14-92701F001EB3}/mydateprop"
prop4 = "http://schemas.microsoft.com/mapi/string/" & _
"{FFF40745-D92F-4C11-9E14-92701F001EB3}/myboolprop"
PropNames = Array(prop1, prop2, prop3, prop4)
myValues = Array(1020, "111-222-Kudo", Now(), False)
'Set values with SetProperties call
'If the properties don't exist, then SetProperties
'adds the properties to the object when saved.
'The type of the property is the type of the element
'passed in myValues array.
Set oPA = oMail.PropertyAccessor
arrErrors = oPA.SetProperties(PropNames, myValues)
If Not (IsEmpty(arrErrors)) Then
'Examine the arrErrors array to determine if any
'elements contain errors
For i = LBound(arrErrors) To UBound(arrErrors)
'Examine the type of the element
If IsError(arrErrors(i)) Then
Debug.Print (CVErr(arrErrors(i)))
End If
Next
End If
'Save the item
oMail.Save
End Sub
Méthodes
Nom |
---|
BinaryToString |
DeleteProperties |
DeleteProperty |
GetProperties |
GetProperty |
LocalTimeToUTC |
SetProperties |
SetProperty |
StringToBinary |
UTCToLocalTime |
Propriétés
Nom |
---|
Application |
Class |
Parent |
Session |
Voir aussi
Outlook Object Model ReferencePropertyAccessor, membres de l’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.