2017-06-19 58 views
0

我有一個打開多個工作簿Excel的互操作Workbooks.Open不一致

var exApp = new Excel.Application(); 
Excel.Workbook ONE; 
Excel.Workbook TWO; 
Excel.Workbook THREE; 
ONE = exApp.Workbooks.Open(ONELocation); 
TWO = exApp.Workbooks.Open(TWOLocation); 
THREE = exApp.Workbooks.Open(THREELocation); 
Console.WriteLine("All Excel workbooks opened successfully\n"); 

有時它沒有問題運行的進程。

雖然有時我得到下面的異常上崩潰

System.Runtime.InteropServices.COMException:「遠程過程調用失敗。 (來自HRESULT的異常:0x800706BE)'

異常發生在不同的工作簿上,有時甚至根本不存在。當重新運行幾次後發生,該過程成功完成並且所有數據都被正確處理。

它爲什麼有時會工作,而不是其他人?有沒有更好的方法來打開這些工作簿?我如何阻止這種情況發生?

+0

你的問題很可能https://stackoverflow.com/questions/4471787/system-runtime-interopservices-comexception-0x800706be-when-getting-contact-la的副本 – xxbbcc

+0

[System.Runtime的可能的複製。 InteropServices.COMException(0x800706BE)當獲取聯繫人.LastName](https://stackoverflow.com/questions/4471787/system-runtime-interopservices-comexception-0x800706be-when-getting-contact-la) – xxbbcc

回答

1

RPC_S_CALL_FAILED確實是根據question用戶xxbbcc指出的作爲可能重複鏈接指出的根本原因。

但是,這只是告訴我的原因,並沒有解決問題。 我一派RPC_S_CALL_FAILED字Excel和發現這個SuperUser question

我禁用了「福昕閱讀器PDF創建COM加載項」如問題描述我現在的程序運行,始終沒有錯誤

如何禁用插件:Excel>文件>選項>加載項>管理,然後選擇「COM加載項」>執行。然後解開有問題的插件。