在Excel.Interop和C#中调用Workbook.SaveAs()时抛出异常

时间:2016-11-08 13:24:54

标签: c# excel office-interop office-automation

我们遇到了一个生产问题,我们使用密码调用Excel工作簿的SaveAs方法。抛出的异常是:

The remote procedure call failed. (Exception from HRESULT: 0x800706BE)

调用按如下方式完成,其中_ExcelPassword是工作簿生成的密码,ExcelOutputPath是磁盘上应该写入文件的位置:

workbook.SaveAs(ExcelOutputPath, XlFileFormat.xlOpenXMLWorkbook, _ExcelPassword, _ExcelPassword, false, false);

如果在没有密码的情况下保存文件,则没有问题。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

所以我最终得到的解决方案是在没有密码的情况下保存工作簿,再次重新打开它,在工作簿对象上设置密码然后再次保存。我知道,单调乏味,但这完全解决了我遇到的remote procedure call failed问题