歧义在Word中互操作的代码 [英] Ambiguity in Word Interop code
问题描述
我最近发布了一个问题关于这里阅读Word文件。
该应用程序运行正常,但是我得到这样的警告消息;
方法$ b之间警告歧义$ b'Microsoft.Office.Interop.Word._Document.Close(Ref对象,引用对象,参考对象)'
和非法Microsoft.Office.Interop.Word.DocumentEvents2_Event.Close。使用
法组。
块引用>
似乎有一些使用空间有些含糊不清,我想知道如何解决这个。虽然该应用程序运行,我想尽量减少警告/错误
我提供了以下的类的代码;该生产线是指在这两行
docs.Close(REF nullobject,裁判nullobject,裁判nullobject);
wordObject.Quit(REF nullobject,裁判nullobject,裁判nullobject);
整个代码:
命名空间Wizard.Classes
{
类MSWordReader
{
公共无效读取(字符串文件名)
{
字符串缓冲区= ;
试
{
Microsoft.Office.Interop.Word.Application wordObject =新的
Microsoft.Office.Interop.Word.Application();
目标文件=文件名; //这是路径
对象nullobject = Type.Missing;
对象可见=虚假的;
对象readonlyp = TRUE;
对象addtorecent = FALSE; //添加到单词最近文件列表
Microsoft.Office.Interop.Word.Document文档= wordObject.Documents.Open
(REF文件,文献nullobject,裁判readonlyp,裁判addtorecent,
REF nullobject,裁判nullobject,裁判nullobject,裁判nullobject,
裁判nullobject,裁判nullobject,裁判nullobject,裁判可见,
裁判nullobject,裁判nullobject,裁判nullobject,裁判nullobject
) ;
docs.ActiveWindow.Selection.WholeStory();
docs.ActiveWindow.Selection.Copy();
IDataObject的数据= Clipboard.GetDataObject();
缓冲= data.GetData(DataFormats.Text)的ToString();
docs.Close(REF nullobject,裁判nullobject,裁判nullobject);
wordObject.Quit(REF nullobject,裁判nullobject,裁判nullobject);
MessageBox.Show(缓冲液);
}
赶上(异常前)
{
MessageBox.Show(ex.Message);
}
}
}
}
解决方案要解决的模糊性,使用:
((的Microsoft.Office.Interop.Word。 _document)文档).Close(REF nullobject,裁判nullobject,裁判nullobject);
((Microsoft.Office.Interop.Word._Application)wordObject).Quit(REF nullobject,裁判nullobject,裁判nullobject);
I recently posted a question about reading Word files here.
The app runs fine however I get this Warning message;
Warning Ambiguity between method 'Microsoft.Office.Interop.Word._Document.Close(ref object, ref object, ref object)' and non-method 'Microsoft.Office.Interop.Word.DocumentEvents2_Event.Close'. Using method group.
There seems to be some ambiguity from some using namespace and I would like to know how to resolve this. Although the app runs, I would like to minimize warning/errors.
I have provided the code below for the class; The line it refers to are these two lines
docs.Close(ref nullobject, ref nullobject, ref nullobject); wordObject.Quit(ref nullobject, ref nullobject, ref nullobject);
The whole code:
namespace Wizard.Classes { class MSWordReader { public void read(String filename) { String buffer = ""; try { Microsoft.Office.Interop.Word.Application wordObject = new Microsoft.Office.Interop.Word.Application(); object file = filename; //this is the path object nullobject = Type.Missing; object visible = false; object readonlyp = true; object addtorecent = false; //add to words recent filelist Microsoft.Office.Interop.Word.Document docs = wordObject.Documents.Open (ref file,ref nullobject, ref readonlyp, ref addtorecent, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref nullobject, ref visible, ref nullobject, ref nullobject, ref nullobject, ref nullobject ); docs.ActiveWindow.Selection.WholeStory(); docs.ActiveWindow.Selection.Copy(); IDataObject data = Clipboard.GetDataObject(); buffer = data.GetData(DataFormats.Text).ToString(); docs.Close(ref nullobject, ref nullobject, ref nullobject); wordObject.Quit(ref nullobject, ref nullobject, ref nullobject); MessageBox.Show(buffer); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
解决方案To resolve the ambiguity, use:
((Microsoft.Office.Interop.Word._Document)docs).Close(ref nullobject, ref nullobject, ref nullobject); ((Microsoft.Office.Interop.Word._Application)wordObject).Quit(ref nullobject, ref nullobject, ref nullobject);
这篇关于歧义在Word中互操作的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!