开发者

Get EntryID of new mail

We made a script that automatically opens the Microsoft Outlook new mail window. Some things have to be filled in already. This works so far:

Set Arguments = WScript.Arguments
If Arguments.Count > 4 Then
    Set Outlook = CreateObject("Outlook.Application")
    Set B开发者_如何学JAVAodyObject = CreateObject("Scripting.FileSystemObject")
    Set Mail = Outlook.CreateItem(0)

    Mail.To = Arguments(0)
    Mail.CC = Arguments(1)
    Mail.BCC = Arguments(2)
    Mail.Subject = Arguments(3)

    Set BodyFile = BodyObject.OpenTextFile(Arguments(4))
    Mail.Body = BodyFile.ReadAll
    BodyFile.Close

    For Counter = 5 to (Arguments.Count - 1)
        Mail.Attachments.Add Arguments(Counter)
    Next

    Mail.Display
End If

But know we want to know if that mail gets sent by the user and we also want to know the EntryID of that mail, so we can look it up later.

Now Mail.Display doesn't return anything and the program just ends. It does not wait until the window gets closed. So after Mail.Display, there should be something like: Mail.Wait, or a Mail send event so we can get the EntryID.

Could someone help us out?

Thanks in advance, Gillis and Emiel


I just found a probable solution from here:

You need to wait and get the EntryID value after the item has been delivered from the Outbox. To do this, subscribe to the Folder.Items.ItemAdd event on the Sent Items folder. That event passes the newly added -- i.e. newly sent -- item as its argument.


The item must exist first in Outlook to have an EntryID value, use the Save Property and fetch its EntryID right after

Mail.Save
strEntryID = Mail.EntryID

I've got a sample written in VBA for saving notes from Access form to Outlook

    Dim outobj As Outlook.Application
    Dim outappt As Outlook.NoteItem
    Set outobj = CreateObject("outlook.application")
    Set outappt = outobj.CreateItem(olNoteItem)
    With outappt
    If Not IsNull(Me!strBody) Then .Body = Me!strBody
    .Save
    Me!strEID = .EntryID
    End With
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜