无法收到警告,无法在Word文档上调用Close

时间:2014-10-14 10:20:29

标签: c# .net office-interop

我无法拨打Close我打开的word文档:

docs.Close(WdSaveOptions.wdDoNotSaveChanges, nullobject, nullobject);
申请表上的

Quit

wordObject.Quit(WdSaveOptions.wdDoNotSaveChanges);

没有收到此编译器警告:

  

警告1方法之间存在歧义   'Microsoft.Office.Interop.Word._Application.Quit(ref object,ref   object,ref object)'和非方法   'Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit'。运用   方法组。

完整代码:

Microsoft.Office.Interop.Word.Application wordObject = new Microsoft.Office.Interop.Word.Application();
                object file = pathToFile; //this is the path
                object nullobject = System.Reflection.Missing.Value;
                Microsoft.Office.Interop.Word.Document docs = wordObject.Documents.Open(file, nullobject, nullobject, nullobject,
                nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject, nullobject);

使用Office库15。

1 个答案:

答案 0 :(得分:0)

这只是一个警告,你可以忽略它。问题在于实际Application接口的定义及其在.NET中的底层接口。您可以通过将此警告强制转换为警告中建议的两种类型之一来绕过此警告:

((Microsoft.Office.Interop.Word._Application)wordObject).Quit(WdSaveOptions.wdDoNotSaveChanges);

这将消除方法调用的歧义。如果你不这样做,就不会有任何伤害。