Как получить идентификатор беседы из выбранного сообщения электронной почты? - PullRequest
1 голос
/ 13 января 2012

Я хотел бы получить идентификатор беседы (который находится в заголовке сообщения).

Я бы предположил, что в библиотеке outlook это класс MailItem и член ConversationID.Я просто в недоумении, как получить это из выбранного электронного письма, открытого электронного письма или как событие, когда событие NewMail сработает.

Любая помощь будет с благодарностью принята !!

1 Ответ

2 голосов
/ 13 января 2012

В этом примере идентификатор диалога отображается в окне сообщения:

Sub GetConvID()

Dim obj As Object
Dim msg As Outlook.mailItem

Set obj = GetCurrentItem

If TypeName(obj) = "MailItem" Then
  Set msg = obj
  MsgBox msg.ConversationID
End If

End Sub

Function GetCurrentItem() As Object
' returns reference to current item, either the one
' selected (Explorer), or the one currently open (Inspector)

  Select Case True
  Case IsExplorer(Application.ActiveWindow)
    Set GetCurrentItem = ActiveExplorer.Selection.item(1)
  Case IsInspector(Application.ActiveWindow)
    Set GetCurrentItem = ActiveInspector.CurrentItem
  End Select

End Function
Function IsExplorer(itm As Object) As Boolean
  IsExplorer = (TypeName(itm) = "Explorer")
End Function
Function IsInspector(itm As Object) As Boolean
  IsInspector = (TypeName(itm) = "Inspector")
End Function

Относительно события NewMail:

Событие NewMail полезно для сценариев, в которых вы хотите быть уведомление о поступлении нового сообщения электронной почты. Если вы хотите обработать элементы, поступающие в папку «Входящие», рассмотрите возможность использования события ItemAdd на коллекция предметов в папке «Входящие». Событие ItemAdd передает ссылка на каждый элемент, который добавляется в папку.

Чтобы получить ссылку на выбранное письмо в этом событии, используйте ActiveExplorer.Selection.item(1). Чтобы получить ссылку на открытое письмо, используйте ActiveInspector.CurrentItem.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...