Outlook) (表对象
代表来自于 Folder 或 Search 对象的项目数据的集合,它将项目作为表的行,而将属性作为表的列。
表 表示 文件夹 或 搜索 对象中数据的只读动态行集。 使用 Folder.GetTable 或 Search.GetTable 获取一个 Table 对象,该对象代表文件夹或搜索文件夹中的一组项目。 如果 Table 对象是从 Folder.GetTable 获取的,则可再指定一个筛选器(在 Table.Restrict 中)来获取文件夹中项目的子集。 如果未指定任何筛选器,则会获取 文件夹中的所有项目。
默认情况下,返回的 表 中的每个项包含其属性的默认子集。 可将该文件夹中的项作为 表 的每一行、 每一列视为一个属性,该属性的项,以及 表格 为内存中的轻量行集允许快速枚举和筛选文件夹中的项目。 虽然基础文件夹的添加和删除 表 中的行反映,但 表 不支持添加、 更改和删除行的任何事件。 如果需要 表 中的行从一个可写对象,从默认条目 Id 列在 表 中获得行条目 ID,然后使用该 命名空间 对象的 GetItemFromID 方法来获取完整的项目,例如 MailItem 或 联系人 ,支持读写操作。 有关 Table 中的默认列的详细信息,请参阅 Table 对象中显示的默认属性。
有关 Table 对象的详细信息,请参阅枚举、搜索和筛选文件夹中的项目。
下面的代码示例阐释了如何 表 对象才能返回经过筛选的项目根据其 LastModificationTime 属性集。 它还演示如何列出默认属性以及特定的项的属性。
Sub DemoTable()
'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 支持和反馈,获取有关如何接收支持和提供反馈的指南。