2012-01-13 43 views
1

私は会話ID(メッセージのヘッダーにあります)を取得したいと思います。選択した電子メールメッセージから会話IDを取得するにはどうすればよいですか?

Outlookライブラリでは、MailItemクラスとConversationIDメンバーにあると仮定します。私は選択された電子メール、開いている電子メール、またはNewMailイベントが発生したときのイベントからその情報を取得する方法を失っているだけです。

大変助かりますか?

+1

checkout http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._mailitem.getconversation.aspxおよびhttp://msdn.microsoft.com/en-us/library/ .info。 2010年より前に、http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook._mailitem.conversationtopic.aspxを参照してください。 – Nat

答えて

2

この例では、メッセージボックスに会話のIDが表示されます。

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)を使用してください。開いているメールへの参照を取得するには、を使用してください。

関連する問題