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 支持和反馈,获取有关如何接收支持和提供反馈的指南。