我有一个打开多个工作簿的进程
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 :(得分:2)
RPC_S_CALL_FAILED
确实是根本原因,正如question用户xxbbcc所指出的那样,作为可能的重复链接。
RPC_S_CALL_FAILED
搜索了SuperUser question
我按照问题中的描述禁用了" FoxitReader PDF Creator COM加载项" ,我的程序现在一直运行且没有错误。
如何禁用插件:Excel>文件>选项>加载项>管理,然后选择" COM加载项" >走。然后解开有问题的插件。