PropertyAccessor.GetProperties, méthode (Outlook)
Obtient les valeurs des propriétés spécifiées par le tableau unidimensionnel SchemaNames.
Syntaxe
expression. GetProperties
( _SchemaNames_
)
Expression Variable qui représente un objet PropertyAccessor .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
SchemaNames | Requis | Variant | Tableau qui contient les noms des propriétés dont les valeurs doivent être renvoyées. Ces propriétés sont référencées par un espace de noms. Pour plus d’informations, voir Référencer les propriétés par un espace de noms. |
Valeur renvoyée
Variant qui représente un tableau de valeurs des propriétés spécifiées dans le paramètre SchemaNames. Le nombre d’éléments contenus dans le tableau renvoyé est égal à celui du tableau SchemaNames. Si une erreur se produit lors de l’obtention d’une propriété spécifique, la valeur Err est renvoyée à l’emplacement correspondant dans le tableau renvoyé.
Remarques
Le tableau renvoyé par GetProperties peut contenir des éléments de types différents selon le type de la propriété demandée. Le type de l’élément du tableau renvoyé par GetProperties est le même que celui de la propriété sous-jacente. Certains types de propriété brute, comme PT_OBJECT, ne sont pas pris en charge et produisent une erreur. Si vous avez besoin d’une conversion du type de propriété brute, par exemple, de PT_BINARY en chaîne ou d’PT_SYSTIME en heure locale, utilisez les méthodes d’assistance PropertyAccessor.BinaryToString et PropertyAccessor.UTCToLocalTime.
Pour plus d’informations sur l’obtention de 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 l’objet PropertyAccessor pour obtenir les propriétés MAPI qui ne sont pas exposées sur un élément Outlook, à savoir : PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY et PR_ATTR_SYSTEM. Cet exemple de code montre comment utiliser la méthode GetProperties pour extraire ces propriétés en un seul appel en spécifiant un tableau de références par espace de noms à ces propriétés et obtenir un tableau contenant la valeur brute de chaque propriété.
Sub DemoPropertyAccessorGetProperties()
Dim PropNames() As Variant
Dim myValues As Variant
Dim i As Integer
Dim j As Integer
Dim oMail As Object
Dim oPA As Outlook.PropertyAccessor
'Get first item in the inbox
Set oMail = _
Application.Session.GetDefaultFolder(olFolderInbox).Items(1)
'PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY, PR_ATTR_SYSTEM
PropNames = _
Array("http://schemas.microsoft.com/mapi/proptag/0x0037001E", _
"http://schemas.microsoft.com/mapi/proptag/0x10F4000B", _
"http://schemas.microsoft.com/mapi/proptag/0x10F6000B", _
"http://schemas.microsoft.com/mapi/proptag/0x10F5000B")
'Obtain an instance of a PropertyAccessor object
Set oPA = oMail.PropertyAccessor
'Get myValues array with GetProperties call
myValues = oPA.GetProperties(PropNames)
For i = LBound(myValues) To UBound(myValues)
'Examine the type of the element
If IsError(myValues(i)) Then
'CVErr returns a variant of subtype error
Debug.Print (CVErr(myValues(i)))
ElseIf IsArray(myValues(i)) Then
propArray = myValues(i)
For j = LBound(propArray) To UBound(propArray)
Debug.Print (propArray(j))
Next
ElseIf IsNull(myValues(i)) Then
Debug.Print ("Null value")
ElseIf IsEmpty(myValues(i)) Then
Debug.Print ("Empty value")
ElseIf IsDate(myValues(i)) Then
Debug.Print (oPA.UTCToLocalTime(myValues(i)))
'VB does not have IsBinary function
ElseIf VarType(myValues(i)) = vbByte Then
Debug.Print (oPA.BinaryToString(myValues(i)))
Else
Debug.Print (myValues(i))
End If
Next
End Sub
Voir aussi
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.