关于"Excel._Worksheet和DocEvents_Event之间存在二义性.将使用方法组"的问题
2012-10-23 16:32
686 查看
关于"Excel._Worksheet和DocEvents_Event之间存在二义性.将使用方法组"的问题
分类:C#编程 2010-06-12 13:53
862人阅读 评论(4)收藏
举报
因为这个问题我没有在网上见到过比较正确的解释,所以就晒出来,给遇到同样问题,并且还在头疼的兄弟们以作参考
利用Microsoft.Office.Interop.Excel做Excel开发的时候经常会遇到类似标题的内容,下面是我曾经遇到过的:
tempWorksheet.Activate()
警告信息是:Microsoft.Office.Interop.Excel.._Worksheet.Active()和Microsoft.Office.Interop.Excel.DocEvents_Event.Active之间存在二义性,将使用方法组.
还有Application的Quit()方法也是如此.造成这样的原因是因为
public interface Worksheet : _Worksheet, DocEvents_Event
public interface Application : _Application, AppEvents_Event
这两个继承造成的,在两个接口中存在同名的方法和属性.所以为了明确调用关系.
必须给对象进行强制类型转换,然后再调用其对应接口中的方法.
比如因为Active()引起的警告,我们可以改为下面的调用
((Excel._Worksheet)tempWorksheet).Activate();
而Quit()也可以改为
((Excel._Application)tempApp).Quit();
因为大家都对Office的操作比较陌生,所以看到这样的问题一下子就懵了.
其实,如果跳出Office这个小圈子,不难发现:是我们的语言基础不够牢固.我们要做的仅仅是做一个很简单的强制类型转换.
引用:http://blog.csdn.net/wangchao1982/article/details/5666384
Word._Document doc = wordApp.Documents.Open(ref fileobj, ref nullobj, ref nullobj,
在document前面加个_就可以了
相关文章推荐
- 关于"Excel._Worksheet和DocEvents_Event之间存在二义性.将使用方法组"的问题
- 关于在英创em9161板上使用ADO.net连接远程数据库提示 “无法找到 PInvoke dll"dbnetlib.dll"”问题解决方法
- Java基础--->09.关于JDK使用旧方法编译出错、警告问题。
- 使用微信SDK时,出现了 "operator new[](unsigned long)", referenced from:等问题的解决方法
- 总结C++中三种关于"new"的使用方法
- asp.net中回发或回调参数无效。在配置中使用 <pages enableEventValidation="... 问题解决
- Xcode中git的使用方法介绍与"Please tell me who you are"问题的解决方案
- 使用OGG"Loading data from file to Replicat"的方法应该注意的问题:replicat进程是前台进程
- iBaits中,关于insert返回值的问题(注意!!!不必写resultClass= "java.lang.Integer",方法的返回值就是int)
- 关于Excel的导出问题(.net方法与javascript方法之间的讨论)
- ADODB使用excel的"Cannot modify the design of table 'xxxx'. It is in a read-only database"的问题
- 关于Struts2使用redirectAction方式在两个Action之间传值时中文乱码问题的解决方法
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- Xcode中git的使用方法介绍与"Please tell me who you are"问题的解决方案
- 关于"ORA-00942 表或视图不存在" 问题的解决方法
- 关于Android4.0 emulator-arm.exe-应用程序错误,内存不能为"read"问题解决方法
- 关于使用"/"来 dispatcherServlet 的url-pattern带来的问题
- SQL语句中"(+)"与"left join...on"之间的使用方法
- 关于使用Ajax传中文数据到后台接受乱码问题 data:{"dictype":"客户信誉度"}
- 使用OGG"Loading data from file to Replicat"的方法应该注意的问题:replicat进程是前台进程