我試圖在Outlook中保存當前的電子郵件。該代碼通過功能區按鈕進行訪問。當我在MailItem上執行SaveAs方法時,我總是得到0x80004004(E_ABORT)異常。Outlook.MailItem.SaveAs方法始終以0x80004004失敗(E_ABORT)
這是我的代碼:
Outlook._Application outlook = new Outlook.Application();
if (outlook.ActiveExplorer().Selection.Count > 0)
{
Object selectedObject = outlook.ActiveExplorer().Selection[1];
if (selectedObject is Outlook.MailItem)
{
Outlook._MailItem mailItem = (selectedObject as Outlook._MailItem);
Helpers.CheckDir(userAppPath + @"temp");
try
{
mailItem.SaveAs(userAppPath + @"temp\tempmail.msg", Outlook.OlSaveAsType.olMSGUnicode);
doUpload = true;
}
catch (Exception ex)
{
doUpload = false;
}
}
}
如果我手動保存它從Outlook使用完全相同的文件名,並在同一個位置,我可以載入它在我的代碼,但我不能使用SaveAs方法將相同的電子郵件保存在代碼中。
我已經嘗試過各種OlSaveAsType類型。還有MailItem類型而不是_MailItem類型。
任何想法?
你能讀取任何mailitem屬性嗎? –
是的。我可以訪問很多。 –
您是否在SaveAs方法中嘗試使用Outlook.OlSaveAsType.olMSG? –