Compartilhar via


Método Columns.Add (Outlook)

Adiciona a Coluna especificada por Name à coleção Columns e redefine a Tabela.

Sintaxe

expressão. Adicionar (Nome)

Expressão Uma variável que representa um objeto Columns .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Name Obrigatório String O nome da propriedade que está sendo adicionada como uma coluna.

Valor de retorno

Um objeto Column que representa a nova coluna.

Comentários

Columns. Add adiciona a coluna especificada até o final da coleção Columns para a tabela e redefine a tabela movendo a linha atual para imediatamente antes da primeira linha da tabela. Se Columns. Add retornará um erro, não alterará a linha atual.

O nome pode ser um nome de propriedade interno explícito ou um nome de propriedade referenciado pelo namespace. Ele deve ser referenciado como o nome na localidade em inglês. [!OBSERVAçãO] For more information on referencing properties by namespace, see Referencing Properties by Namespace.

Se você estiver adicionando uma propriedade que é uma propriedade interna explícita no modelo de objeto, por exemplo, Contact.FirstName, você deve especificar Nome como o nome da propriedade interna explícita em inglês. Para determinados tipos de propriedades, o formato usado quando adicionar essas propriedades como colunas afeta como seus valores são expressos na tabela. Para obter mais informações sobre representação de valor de propriedade em um objeto Table, consulte Fatores que afetam a representação de valor da propriedade nas classes Table e View.

Se você estiver adicionando uma propriedade personalizada a uma Tabela, fazendo referência à propriedade pelo namespace de cadeia de caracteres MAPI, precisará acrescentar explicitamente o tipo da propriedade ao final da referência de propriedade. Por exemplo, para adicionar a propriedade MyCustomPropertypersonalizada , que tem o tipo cadeia de caracteres Unicode, você terá que acrescentar explicitamente o tipo 001f à referência, resultando em: http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f, em que {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} representa o GUID do namespace.

Determinadas propriedades não podem ser adicionadas a uma tabela usando Columns. Add, incluindo propriedades binárias, propriedades computadas e conteúdo do corpo HTML ou RTF. Para obter mais informações, consulte Propriedades sem suporte em um objeto ou filtro Table.

Enquanto Items.SetColumns pode ser usado para facilitar o armazenamento em cache determinadas propriedades para acesso extremamente rápido a essas propriedades de uma coleção Items, algumas propriedades são impedidas de SetColumns. Como essas restrições não se aplicam a Columns.Add, o objeto Table é uma alternativa menos restritiva que Itens.

Exemplo

O exemplo de código a seguir ilustra como obter um objeto Table com base no LastModificationTime dos itens na caixa de entrada. Ele também mostra como remover as colunas padrão da tabela, adicionar colunas específicas e imprimir os valores das propriedades correspondentes desses itens.

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

Confira também

Objeto Columns

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.