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型も使用します。
アイデア?
メールアイテムのプロパティを読むことはできますか? –
はい。私は多くの人にアクセスできます。 –
SaveAsメソッドでOutlook.OlSaveAsType.olMSGを試しましたか? –