Columns.Add 方法 (Outlook)

Name 指定的 Column 添加到 Columns 集合并重置 Table

语法

表达式添加 (名称)

表达 一个代表 Columns 对象的变量。

参数

名称 必需/可选 数据类型 说明
Name 必需 String 作为列添加的属性的名称。

返回值

表示新列的 对象。

备注

Columns.Add 将指定的 添加到 集合的末尾,并将 重置移动当前行仅在 的第一行之前。 如果 Columns.Add 会返回一个错误,将不会更改当前行。

名称 可以是显式内置属性名称,也可以是命名空间引用的属性名称。 在英语区域设置中它必须作为名称来引用。 [!注释] 有关通过命名空间引用属性的详细信息,请参阅通过命名空间引用属性

如果要在对象模型中添加一个显式内置属性的属性(例如 Contact.FirstName),则必须将 Name 指定为英语的显式内置属性名称。 对于某些类型的属性,在将这些属性作为列添加到 中表示其值的方式会影响时所用的格式。 有关 Table 中的属性值表示方式的详细信息,请参阅影响 Table 类和 View 类中属性值表示方式的因素

如果要向 Table 添加自定义属性,并通过 MAPI 字符串命名空间引用该属性,则必须将属性的类型显式追加到属性引用的末尾。 例如,若要添加具有 Unicode 字符串类型的自定义属性 MyCustomProperty,则必须将类型 001f 显式追加到引用,从而生成: http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/MyCustomProperty/0x0000001f,其中 {HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} 表示命名空间 GUID。

某些属性无法添加到使用 Columns.Add ,包括二进制属性、 计算的属性和 HTML 或 rtf 格式的正文内容的 中。 有关详细信息,请参阅 Table 对象或 Table 筛选器中不受支持的属性

Items.SetColumns 可用于促进缓存极快速访问这些属性的 集合的某些属性,而 SetColumns 会限制某些属性。 由于这些限制不适用于 Columns.Add因此 Table 对象比 Items 的限制性较低。

示例

下面的代码示例演示如何获取一个 Table 对象,该对象根据 LastModificationTime 收件箱中的项目。 它也演示如何删除 的默认列、 添加特定的列和输出这些项目对应属性的值。

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

另请参阅

列对象

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。