我们制作了一个自动打开Microsoft Outlook新邮件窗口的脚本。有些事情必须要填补。这项工作到目前为止:
Set Arguments = WScript.Arguments
If Arguments.Count > 4 Then
Set Outlook = CreateObject("Outlook.Application")
Set BodyObject = 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
但是我们知道我们想知道该邮件是否由用户发送,我们也想知道该邮件的EntryID,所以我们可以稍后查看。
现在Mail.Display不会返回任何内容,程序就会结束。它不会等到窗口关闭。因此,在Mail.Display之后,应该有类似:Mail.Wait或Mail发送事件,以便我们可以获得EntryID。
有人可以帮助我们吗?
提前致谢, 吉利斯和埃米尔
答案 0 :(得分:1)
我刚从here找到了一个可能的解决方案:
你需要等待并获得EntryID 项目结束后的值 从发件箱发送。去做这个, 订阅Folder.Items.ItemAdd 已发送邮件文件夹上的事件。那 事件通过新添加的 - 即 新发送的项目作为其参数。
答案 1 :(得分:0)
项目必须首先存在于Outlook中以具有EntryID值,使用保存属性并在
之后立即获取其EntryIDMail.Save
strEntryID = Mail.EntryID
我有一个用VBA编写的示例,用于将Access表单中的注释保存到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