Conversation.GetTable メソッド (Outlook)
スレッド内の各アイテムを各行として示す Table オブジェクトを返します。
構文
式。 GetTable
式 'Conversation' オブジェクトを表す変数。
戻り値
スレッドのすべてのアイテムを表す行を含む テーブル オブジェクトです。
注釈
GetTable メソッドは、行との会話のすべての項目を持つ テーブル を返します。 列の既定の設定は、次の表に表示されます。
列 | プロパティ |
---|---|
1 | EntryID |
2 | Subject |
3 | CreationTime |
4 | LastModificationTime |
5 | MessageClass |
既定では、テーブル内の行は、項目の ConversationIndex プロパティによって並べ替えられます。
既定の列セットを変更するには、 Columns コレクション オブジェクトの AddRemove メソッドまたは RemoveAll メソッドを使用します。
この 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 2010 以降を実行している Microsoft Exchange Server に接続されているか、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 のサポートおよびフィードバックを参照してください。