通过VBA控制.msg格式

时间:2018-01-23 16:15:40

标签: vba ms-access outlook

我有一个Access数据库,可以在mailitem_send事件中记录和保存电子邮件。

已保存的电子邮件如下:
this

我希望电子邮件看起来像已发送的电子邮件,例如:
this

我尝试过的任何内容都不会改变文件的保存方式。

EmailAttachment.SaveAs Me.EmailFileLoc & Filename, OlSaveAsType.olMSG

1 个答案:

答案 0 :(得分:0)

MailItem.SendApplication.ItemSend事件触发时,邮件仍未发送(您可以取消提交)。您最早可以访问已发送状态的邮件,其中填充了发件人信息,当它被移动到已发送邮件文件夹并且Items.ItemAdd事件触发时。

更一般地说,在你的情况下,MailItem.S ent属性为false。 OOM根本不允许改变它。在扩展MAPI级别上,MSGFLAG_UNSENT位只能在第一次保存邮件之前从PR_MESSAGE_FLAGS属性中删除(如果单击,您可以在OutlookSpy中看到该属性IMessage按钮)。这不适用于保存为MSG文件的邮件,您可以使用Redemption更改标记(调用RDOSession.GetMessageFromMsgFile / set RDOMail.Sent属性为true / call RDOMail.Save)< / p>