Word 远程调用失败:异常来自 HRESULT:0x800706BE

问题描述

最近研究wps和microsoft office时遇到一个问题,在C#项目中调用 Microsoft.Office.Interop.Word组件,打开docx文件的代码可能出现这两种异常之一(在不改动代码的情况下,有时运行报异常1,有时报异常2)

异常1:远程过程调用失败。 (异常来自 HRESULT:0x800706BE)
异常2:RPC 服务器不可用。 (异常来自 HRESULT:0x800706BA)

出现上述异常的条件也很奇怪,循环打开文件,第二次打开文件才会出现,初次打开则不报异常。网上搜索有人说是Application对象关闭的原因,在我这里无效,因为我是在循环外面关闭Application对象,循环内第二次打开文件也就不会调用Application.Quit函数。

另外有人说是word中的COM加载项有问题,把加载项都禁用了也没有解决。

解决办法

观察程序运行时的进程发现,程序启动的是WPS WORD,而不是Microsoft Office Word。

于是进wps的设置检查,想起来设置过“WPS Office兼容第三方系统和软件”,可能是因为这个会修改Office的互操作嵌入,把这个选项的勾去掉,就不再报上述两个异常了。

猜你喜欢

转载自blog.csdn.net/KanShiMeKan/article/details/107161070