Excel 互操作工作簿.打开不一致



>我有一个打开多个工作簿的进程

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 successfullyn");

有时它运行没有问题。

有时虽然我在崩溃时遇到以下异常

System.Runtime.InteropServices.COMException:"远程过程调用失败。(HRESULT的例外:0x800706BE('

异常发生在不同的工作簿上,有时根本不发生。当它发生在重新运行几次后,该过程将成功通过并且所有数据都得到正确处理。

为什么它有时有效而在其他情况下不起作用?有没有更好的方法来打开这些工作簿?如何阻止这种情况发生?

RPC_S_CALL_FAILED确实是用户xxbbcc链接到的问题所指出的根本原因,因为它可能是重复的。

但是,这只是告诉我原因,并没有解决问题。我用谷歌搜索了带有 excel 一词RPC_S_CALL_FAILED,发现了这个超级用户问题

我禁用了问题中所述的"FoxitReader PDF Creator COM Add-in">,我的程序现在可以始终如一地运行,没有错误。

如何禁用插件:Excel>"文件>选项">"加载项">"管理">

,然后选择"COM 加载项">"转到"。然后取消勾选有问题的插件。

最新更新