Partager via


Accéder aux valeurs d’une propriété à valeurs multiples dans une table

En règle générale, si une propriété à valeurs multiples est ajoutée à une table à l’aide de son nom intégré explicite, le format des valeurs de la propriété est une chaîne délimitée par des virgules. Si la propriété à valeurs multiples est ajoutée à l'objet Table en utilisant une référence par espace de noms, les valeurs de la propriété se présentent sous la forme d'un tableau de variants.

L'exemple de code suivant montre comment ajouter la propriété à valeurs multiples Categories à un objet Table en utilisant un nom faisant référence à son espace de noms, soit urn:schemas-microsoft-com:office:office#Keywords. Pour obtenir les valeurs de la colonne Categories pour chaque ligne de l'objet Table, attribuez le code

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

à un variant, puis énumérez les éléments du tableau de variants. Notez que pour un élément qui n’a pas été affecté à des catégories, à un variant et énumérez les éléments du tableau de variantes. Notez que dans le cas d'un élément associé à aucune catégorie,

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

renvoie une valeur vide.

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

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.