PropertyAccessor.GetProperties-Methode (Outlook)
Die Werte der durch das eindimensionale Array SchemaNames angegebenen Eigenschaften werden abgerufen.
Syntax
Ausdruck. GetProperties
( _SchemaNames_
)
Ausdruck Eine Variable, die ein PropertyAccessor-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
SchemaNames | Erforderlich | Variant | Ein Array, das die Namen der Eigenschaften enthält, deren Werte zurückgegeben werden sollen. Auf diese Eigenschaften wird mithilfe von Namespaces verwiesen. Weitere Informationen finden Sie unter Verweisen auf Eigenschaften mithilfe von Namespaces. |
Rückgabewert
Ein Variant-Wert, der ein Array von Werten der im Parameter SchemaNames angegebenen Eigenschaften darstellt. Die Anzahl der Elemente im zurückgegebenen Array entspricht der Anzahl der Elemente im SchemaNames-Array . Wenn ein Fehler, zum Abrufen einer bestimmten Eigenschaft auftritt, wird der Err -Wert in der entsprechenden Stelle im zurückgegebenen Array zurückgegeben werden.
HinwBemerkungeneise
Das von GetProperties zurückgegebene Array kann mit unterschiedlichen Typen, je nach Art der angeforderten Eigenschaft Elemente enthalten. Der Typ des GetProperties zurückgegebene Array-Elements wird der Typ der zugrunde liegenden-Eigenschaft identisch sein. Bestimmte unformatierte Eigenschaftstypen wie PT_OBJECT werden nicht unterstützt und löst einen Fehler. Wenn Sie eine Konvertierung des unformatierten Eigenschaftstyps benötigen, z. B. von PT_BINARY in eine Zeichenfolge oder von PT_SYSTIME in eine Ortszeit, verwenden Sie die Hilfsmethoden PropertyAccessor.BinaryToString und PropertyAccessor.UTCToLocalTime.
Weitere Informationen zum Abrufen von Eigenschaften mithilfe des PropertyAccessor-Objekts finden Sie unter Bewährte Methoden zum Abrufen und Festlegen von Eigenschaften.
Beispiel
Das folgende Codebeispiel zeigt, wie das PropertyAccessor -Objekt verwenden, um MAPI-Eigenschaften abzurufen, die nicht für ein Outlook-Element, nämlich verfügbar gemacht werden: PR_SUBJECT, PR_ATTR_HIDDEN, PR_ATTR_READONLY und PR_ATTR_SYSTEM. In diesem Codebeispiel GetProperties -Methode verwendet, um diese in einem einzigen Aufruf, der ein Array von Namespaceverweise auf diese Eigenschaften angeben abzurufen und ruft ein zurückgegebene Array, das den unformatierten Wert für jede Eigenschaft enthält.
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
Siehe auch
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.