嘗試應付嘗試打開PowerPoint文件時不斷收到的HRESULT E_FAIL錯誤。有更多的代碼,但是我得到錯誤的基本操作在下面的代碼塊中顯示。正在使用的參考DLL是:Office 14.0.0和Microsoft.Office.Interop.Powerpoint 14.0.0。錯誤HRESULT E_FAIL已從使用C#打開PowerPoint文檔時調用COM組件返回。
Application application = new Application { DisplayAlerts = PpAlertLevel.ppAlertsNone };
Presentation powerpoint = application.Presentations.Open(@"X:\XXX\xxx.pptx");
powerpoint.SaveAs(@"X:\XXX\saved.pdf", PpSaveAsFileType.ppSaveAsPDF, MsoTriState.msoTrue);
這是一個非常基本的操作,但不知道爲什麼它抱怨COM異常。 機器上安裝了帶有Service Pack 1的Microsoft Office 2010 32位。
你有沒有試過谷歌的「powerpoint 0x80004005」?最常見的錯誤似乎是有人試圖從ASP.NET使用Office interop(這本身就是一個很大的錯誤),並且ASP.NET進程/用戶錯過了訪問文件的權限。 – cremor
是否嘗試從「網絡DTC訪問」中選擇「無需身份驗證」...? –
你有沒有找到一個根本原因的答案呢?我有一個測試用例,即使所有VSTO/COM對象在兩次調用之間被釋放(refcount = 0),第二次調用.Open時也會發生此錯誤。 –