关于system.runtime.interopservices.comexception(0x800A1066)的问题

异常详细信息: System.Runtime.InteropServices.COMException: 命令失败

查询了网上的资料,同样是SaveAs2()方法在执行的问题,虽然最终解决了,但是怕忘记所以记录一下。

不过我的问题比较特殊,在第一次执行时没有问题的,但是第二次执行的时候,出现了该异常。调试时发现,只要实例了word.application对象和word.document对象,就会出现这些异常:

 

 ActiveWindow = “((Microsoft.Office.Interop.Word.ApplicationClass)app).ActiveWindow”引发了类型“System.Runtime.InteropServices.COMException”的异常 

 

 

 ActiveDocument = “((Microsoft.Office.Interop.Word.ApplicationClass)app).ActiveDocument”引发了类型“System.Runtime.InteropServices.COMException”的异常 

 

第一次却不影响运行,而第二次就在执行SaveAs2()时抛出异常。所以很不理解为什么,按网上类似的结果其中权限管理什么的都设置过,同样不起作用。

 

后来仔细想想,这些异常既然第一次不报错,也就没有管它,就想着试试在第一次打开文件之后,把该文件删除了看下有没有作用,由于,在项目中要显示该文件,所以一开始的代码写的不够规范,该文件一直被程序占有,后来加上using()之后,就删除成功了,之后再测试时,神奇第二次就没有抛出异常了,后来发现,就算没有删除生成的文件,加上using()同样也解决了问题。虽然不知道为什么但是谢天谢地,弄了几天了!

ps:using()不能加在word操作的代码里,我是在项目打开文件的里面加上。

 

 

 

 

 

你可能感兴趣的:(C#word异常)