Zugreifen auf die Werte einer mehrwertigen Eigenschaft in einer Tabelle

Wenn einer Tabelle unter Verwendung des expliziten integrierten Namens eine mehrwertige Eigenschaft hinzugefügt wird, ist das Format der Werte der Eigenschaft im Allgemeinen eine durch Trennzeichen getrennte Zeichenfolge. Wenn die mehrwertige Eigenschaft dem Table-Objekt hinzugefügt wird, indem durch einen Namespace darauf verwiesen wird, sind die Werte der Eigenschaft als Variantenarray formatiert.

Im folgenden Codebeispiel wird die mehrwertige Categories-Eigenschaft einer Tabelle mithilfe eines Namens hinzugefügt, der auf den Namespace urn:schemas-microsoft-com:office:office#Keywords verweist. Um die Werte für die Spalte Categories für jede Zeile in der Tabelle abzurufen, weisen Sie

oRow("urn:schemas-microsoft-com:office:office#Keywords")

einer Variante zu, und listen Sie die Elemente des Variantenarrays auf. Beachten Sie, dass für ein Element, dem keine Kategorien zugewiesen wurden, einer Variante und die Elemente des Variant-Arrays aufgezählt werden. Für ein Element, dem keine Kategorien zugewiesen wurden, gibt

oRow("urn:schemas-microsoft-com:office:office#Keywords")

einen leeren Wert zurück.

Sub TableCategories() 
    Dim oT As Outlook.Table 
    Dim oRow As Outlook.Row 
    Dim varCat 
    Dim j As Integer 
    Dim strCategories As String 
 
    Set oT = Application.ActiveExplorer.CurrentFolder.GetTable() 
    oT.Columns.Add ("urn:schemas-microsoft-com:office:office#Keywords") 
    oT.Sort "LastModificationTime", True 
    Do Until oT.EndOfTable 
        Set oRow = oT.GetNextRow 
        'Obtain any values of the Categories property 
        varCat = oRow("urn:schemas-microsoft-com:office:office#Keywords") 
        If Not (IsEmpty(varCat)) Then 
            'Form a string out of the item's categories 
            For j = 0 To UBound(varCat) 
                strCategories = strCategories & (varCat(j)) & ", " 
            Next 
            'Remove last trailing ", " 
            strCategories = Left(strCategories, Len(strCategories) - 2) 
        Else 
            'The item does not have any categories 
            strCategories = "" 
        End If 
        Debug.Print ("Subject: " _ 
           & oRow("Subject") & vbCrLf & "Categories: ") & strCategories & vbCrLf 
    Loop 
End Sub

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.