Метод Conversation.GetTable (Outlook)
Возвращает объект Table , содержащий строки, представляющие все элементы диалога.
Синтаксис
выражение. GetTable
Выражение Переменная, представляющая объект Conversation.
Возвращаемое значение
Объект Table , содержащий строки, представляющие все элементы диалога.
Замечания
Метод GetTable возвращает таблицу , которая содержит все элементы диалога в виде строк. Набор столбцов по умолчанию показан в следующей таблице.
Столбец | Свойство |
---|---|
1 | EntryID |
2 | Тема |
3 | CreationTime |
4 | LastModificationTime |
5 | MessageClass |
По умолчанию строки в таблице сортируются по свойству ConversationIndex элементов.
Чтобы изменить набор столбцов по умолчанию, используйте методы Add, Remove или RemoveAll объекта коллекции Columns .
Объект Table , возвращаемый этим методом GetTable , не включает элементы беседы, которые были перемещены в папку "Удаленные".
Пример
В следующем примере кода Visual Basic для приложений (VBA) предполагается, DemoConversationTable
что в инспекторе открыт почтовый элемент. DemoConversationTable
получает объект Conversation на основе этого почтового элемента и вызывает метод GetTable для получения таблицы всех элементов беседы. Чтобы получить определенную информацию о каждом элементе беседы, которая может охватывать все магазины, DemoConversationTable
добавляет в таблицу свойство https://schemas.microsoft.com/mapi/proptag/0x0FFB0102
идентификатора записи в качестве столбца. Перечисляя DemoConversationTable
каждый элемент (представленный строкой) в таблице, он использует свойство идентификатора записи в хранилище, соответствующее этому элементу, для вызова метода GetItemFromID объекта NameSpace для получения объекта элемента. Затем в примере отображается тема и количество вложений для этого элемента.
Примечание.
Перечисление беседы работает только в том случае, если учетная запись 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 и обратная связь.