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.