繁体   English   中英

保存Outlook.MailItem异步?

[英]Save Outlook.MailItem Async?

有没有办法以异步方式将Outlook.MailItem另存为.msg文件?

我正在使用:

MailItem.SaveAs("path", Outlook.OlSaveAsType.olMSG);

但这很慢。

不使用Outlook对象模型-您不能在Outlook.exe地址空间(COM加载项)内使用辅助线程:Outlook将引发异常。 如果从外部应用程序执行此操作,无论如何,所有对OOM的调用都将被封送到Outlook主线程。

由于您将问题标记为Outlook兑现,因此兑现可以做到这一点-从您的加载项中,将Application.Session.MAPIOBJECT的值存储在变量以及MailItem.EntryID属性中。 在辅助线程上,创建RDOSession对象的实例(它将初始化MAPI系统),将其MAPIOBJECT属性设置为保存在主线程上的值,调用RDOSession.GetMessageFromID,然后调用RDOMail.SaveAs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM