Compartir a través de


Método Columns.Add (Outlook)

Agrega la columna especificada por Name a la colección Columns y restablece la tabla.

Sintaxis

expresión. Agregar (nombre)

Expresión Variable que representa un objeto Columns .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
Name Obligatorio String Nombre de la propiedad agregada como columna.

Valor devuelto

Un objeto Column que representa la nueva columna.

Comentarios

Columns.Add agrega la columna de especificada hasta el final de la colección de columnas de la tabla y restablece la tabla moviendo la fila actual justo antes de la primera fila de la tabla. Si Columns.Add devuelve un error, no cambiará la fila actual.

Name puede ser el nombre de una propiedad integrada explícita o un nombre de propiedad al que hace referencia su espacio de nombres. Se le debe hacer referencia en la configuración regional del inglés. Para obtener más información sobre cómo hacer referencia a las propiedades por espacio de nombres, consulte el tema sobre cómo hacer referencia a propiedades por espacio de nombres.

Si va a agregar una propiedad que es una propiedad integrada explícita en el modelo de objetos, por ejemplo, Contact.FirstName, debe especificar Name como el nombre de propiedad integrado explícito en inglés. Para algunos tipos de propiedades, el formato utilizado a agregar estas propiedades como columnas afecta al modo en que se expresan sus valores en la tabla. Para obtener más información sobre la representación de los valores de las propiedades en un objeto Table, vea Factores que afectan a la representación de los valores de las propiedades en las clases Table y View.

Si va a agregar una propiedad personalizada a una tabla, haciendo referencia a la propiedad por el espacio de nombres de cadena MAPI, tendrá que anexar explícitamente el tipo de la propiedad al final de la referencia de propiedad. Por ejemplo, para agregar la propiedad MyCustomPropertypersonalizada , que tiene el tipo de cadena Unicode, tendrá que anexar explícitamente el tipo 001f a la referencia, lo que da como resultado: http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f, donde {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} representa el GUID del espacio de nombres.

Algunas propiedades no se puede agregar a una tabla usando Columns.Add, incluido las propiedades binarias, propiedades calculadas y contenido HTML o RTF. Para obtener más información, vea Propiedades no compatibles en un objeto Table o un filtro Table.

Aunque Items.SetColumns puede utilizarse para facilitar el almacenamiento en caché algunas propiedades para un acceso muy rápido a dichas propiedades de una colección Items, algunas propiedades tienen restricciones respecto a SetColumns. Dado que estas restricciones no se aplican a Columns.Add, el objeto Table es una alternativa menos restrictiva que Items.

Ejemplo:

En el siguiente ejemplo de código se ilustra cómo obtener un objeto Table basándose en la propiedad LastModificationTime de los elementos de la Bandeja de entrada. También se muestra cómo quitar las columnas predeterminadas de la tabla, agregar columnas concretas e imprimir los valores de las propiedades correspondientes de estos elementos.

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

Consulte también

Columns (objeto)

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.