2

Outlook VBA スクリプトを使用して、Mailitem クラスから取得した一意の識別子に基づいて電子メールを表示することは可能ですか?

つまり、フォルダーをループして、リストボックスに SenderName、Subject、SentOn、および ConversationID を入力します。

For i = oFolder.Items.Count To 1 Step -1
    Me.ListBox1.AddItem oFolder.Items.Item(i).ConversationID
Next i

リストボックスはユーザーフォームにあり、ConversationID に基づいてメールを表示できるようにしたいと考えています。実際にこれを行う方法についてはわかりませんが、おそらく次のようなものです。

Dim Msg As Outlook.MailItem
Set Msg = oFolder.GetObjectFromConversationID(Me.ListBox1.Value).Display
Msg.Display
4

1 に答える 1

6

これに基づいて答えを見つけました:https://stackoverflow.com/a/7439554/757856

基本的に、 を使用する必要がありますMailItem.EntryIDConversationID

上記のリンクと同じコードを使用しましたが、早期バインディングではなく遅延バインディングを使用しました。次のコードは、指定された Outlook メールを開きますEntryID

Dim oNamespace As Object
Dim Msg As Object
Set oNamespace = oOlApp.GetNamespace("MAPI")
Set Msg = oNamespace.GetItemFromID(EntryID)
Msg.Display
于 2012-12-07T18:01:33.073 に答える