有没有办法以异步方式将文件保存Outlook.MailItem
为文件?.msg
我在用着:
MailItem.SaveAs("path", Outlook.OlSaveAsType.olMSG);
但它很慢。
有没有办法以异步方式将文件保存Outlook.MailItem
为文件?.msg
我在用着:
MailItem.SaveAs("path", Outlook.OlSaveAsType.olMSG);
但它很慢。
不使用 Outlook 对象模型 - 您不能在 Outlook.exe 地址空间(COM 插件)中使用辅助线程:Outlook 将引发异常。如果您从外部应用程序执行此操作,则对 OOM 的所有调用都将被编组到主 Outlook 线程。
由于您将问题标记为 outlook-redemption,因此 Redemption 可以做到这一点 - 从您的插件中,将 的值存储Application.Session.MAPIOBJECT
在变量以及MailItem.EntryID
属性中。在辅助线程上,创建RDOSession
对象的实例(将初始化 MAPI 系统),将其MAPIOBJECT
属性设置为保存在主线程上的值,RDOSession.GetMessageFromID,
然后调用RDOMail.SaveAs
。