В этом примере идентификатор диалога отображается в окне сообщения:
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
.