Conversation.GetTable 方法 (Outlook)

返回一个 Table 对象,该对象包含代表会话中所有项目的各行。

语法

expressionGetTable

表达 一个代表“Conversation”对象的变量。

返回值

对象,其中包含表示在此对话中的所有项的行。

备注

GetTable 方法返回具有行作为对话的所有项的 。 列的默认设置如下表所示。

属性
1 EntryID
2 Subject
3 CreationTime
4 LastModificationTime
5 MessageClass

默认情况下,表中的行进行排序项的 ConversationIndex 属性。

若要修改默认列集,请使用 Columns 集合对象的 AddRemoveRemoveAll 方法。

GetTable 方法返回的 Table 对象不包括对话已移动到已删除邮件文件夹中的项目。

示例

以下Visual Basic for Applications (VBA) 代码示例 DemoConversationTable,假定在检查器中打开了邮件项。 DemoConversationTable获取基于该邮件项的 对话 对象,并调用 GetTable 方法来获取 的所有项目的对话。 进入谈话,可以跨整个存储,每个项目的特定信息 DemoConversationTable添加存储库条目 ID 属性,https://schemas.microsoft.com/mapi/proptag/0x0FFB0102,作为到表的列。 DemoConversationTable枚举表中每个项目 (由行),它便使用对应于要获取的项对象的 命名空间 对象的 GetItemFromID 方法调用的项存储库条目 ID 属性。 然后,该示例显示的主题和该项目的附件数。

注意

[!注释] 仅当 Outlook 帐户连接到的 Microsoft Exchange Server 运行的至少是 Microsoft Exchange Server 2010,或者 Outlook 在缓存模式下运行并且使用的是 Microsoft Exchange Server 2007 时,才可以枚举会话。

Sub DemoConversationTable() 
 Dim oConv As Outlook.Conversation 
 Dim oTable As Outlook.Table 
 Dim oRow As Outlook.Row 
 Dim oMail As Outlook.MailItem 
 Dim oItem As Outlook.MailItem 
 Const PR_STORE_ENTRYID As String = _ 
 "https://schemas.microsoft.com/mapi/proptag/0x0FFB0102" 
 
 On Error Resume Next 
 ' Obtain the current item for the active inspector. 
 Set oMail = Application.ActiveInspector.CurrentItem 
 
 If Not (oMail Is Nothing) Then 
 ' Obtain the Conversation object. 
 Set oConv = oMail.GetConversation 
 If Not (oConv Is Nothing) Then 
 Set oTable = oConv.GetTable 
 oTable.Columns.Add (PR_STORE_ENTRYID) 
 Do Until oTable.EndOfTable 
 Set oRow = oTable.GetNextRow 
 ' Use EntryID and StoreID to open the item. 
 Set oItem = Application.session.GetItemFromID( _ 
 oRow("EntryID"), _ 
 oRow.BinaryToString(PR_STORE_ENTRYID)) 
 Debug.Print oItem.Subject, _ 
 "Attachments.Count=" & oItem.Attachments.count 
 Loop 
 End If 
 End If 
End Sub

另请参阅

会话对象

支持和反馈

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