Partager via


Columns.Add, méthode (Outlook)

Ajoute la colonne spécifiée par Name à la collection Columns et réinitialise la table.

Syntaxe

expression. Ajouter (Nom)

Expression Variable qui représente un objet Columns .

Parameters

Nom Requis/Facultatif Type de données Description
Name Obligatoire String Nom de la propriété qui est ajoutée en tant que colonne.

Valeur renvoyée

Un objet Column qui représente la nouvelle colonne.

Remarques

Columns.Add ajoute l'objet Column spécifié à la fin de la collection Columns pour l'objet Table et réinitialise l'objet Table en déplaçant la ligne active immédiatement avant la première ligne de l'objet Table. Si la méthode Columns.Add renvoie une erreur, la position de la ligne active n'est pas changée.

Name peut être un nom de propriété intégrée explicite ou un nom de propriété référencée par un espace de noms. Il doit être référencé en tant que nom dans les paramètres régionaux Anglais. Pour plus d’informations sur le référencement de propriétés par un espace de noms, voir Référencer les propriétés par un espace de noms.

Si vous ajoutez une propriété qui est une propriété intégrée explicite dans le modèle objet, par exemple Contact.FirstName, vous devez spécifier Name comme nom de propriété intégré explicite en anglais. Le format utilisé pour certains types de propriétés qui sont ajoutées en tant que colonnes a une incidence sur la manière dont les valeurs de ces propriétés sont exprimées dans l’objet Table. Pour plus d’informations sur la représentation des valeurs des propriétés dans l’objet Table, voir Facteurs influant sur la représentation des valeurs de propriétés dans les classes Table et View.

Si vous ajoutez une propriété personnalisée à une table, référençant la propriété par l’espace de noms de chaîne MAPI, vous devez ajouter explicitement le type de la propriété à la fin de la référence de propriété. Par exemple, pour ajouter la propriété MyCustomPropertypersonnalisée , qui a le type chaîne Unicode, vous devez ajouter explicitement le type 001f à la référence, ce qui aboutit à : http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f, où {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} représente le GUID de l’espace de noms.

Certaines propriétés ne peuvent pas être ajoutées à un objet Table à l’aide de Columns.Add, notamment les propriétés binaires, les propriétés calculées, ainsi que le contenu du corps HTML ou RTF. Pour plus d’informations, voir Propriétés non prises en charge dans un objet ou un filtre Table.

Alors que Items.SetColumns peut être utilisé pour faciliter la mise en cache de certaines propriétés pour un accès extrêmement rapide à ces propriétés d’une collection Items , certaines propriétés sont limitées à partir de SetColumns. Étant donné que ces restrictions ne s’appliquent pas à Columns.Add, l’objet Table est une alternative moins restrictive que Items.

Exemple

L'exemple de code suivant montre comment obtenir un objet Table basé sur l'heure de dernière modification des éléments exprimée par LastModificationTime dans la boîte de réception. Il montre également comment supprimer les colonnes par défaut de l'objet Table, ajouter des colonnes spécifiques et imprimer les valeurs des propriétés correspondantes de ces éléments.

Sub AddColumns() 
 
 'Declarations 
 
 Dim Filter As String 
 
 Dim oRow As Outlook.Row 
 
 Dim oTable As Outlook.Table 
 
 Dim oFolder As Outlook.Folder 
 
 
 
 'Get a Folder object for the Inbox 
 
 Set oFolder = Application.Session.GetDefaultFolder(olFolderInbox) 
 
 
 
 'Define Filter to obtain items last modified after May 1, 2005 
 
 Filter = "[LastModificationTime] > '5/1/2005'" 
 
 'Restrict with Filter 
 
 Set oTable = oFolder.GetTable(Filter) 
 
 
 
 'Remove all columns in the default column set 
 
 oTable.Columns.RemoveAll 
 
 'Specify desired properties 
 
 With oTable.Columns 
 
 .Add ("Subject") 
 
 .Add ("LastModificationTime") 
 
 'PR_ATTR_HIDDEN referenced by the MAPI proptag namespace 
 
 .Add ("http://schemas.microsoft.com/mapi/proptag/0x10F4000B") 
 
 End With 
 
 
 
 'Enumerate the table using test for EndOfTable 
 
 Do Until (oTable.EndOfTable) 
 
 Set oRow = oTable.GetNextRow() 
 
 Debug.Print (oRow("Subject")) 
 
 Debug.Print (oRow("LastModificationTime")) 
 
 Debug.Print (oRow("http://schemas.microsoft.com/mapi/proptag/0x10F4000B")) 
 
 Loop 
 
End Sub

Voir aussi

Columns, objet

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.