为什么有些Office对象的事件无法使用

今天碰到了个问题,发现无法使用某些对象事件,+=后双TAB出不来。
四处找原因,GOOGLE、MSDN上翻了许久,终于找到了原因和解决方法。
原因:写了一个同名的方法,而VSTO处理规则应该是方法>事件,所以有了同名的方法后事件就无法使用了。
如已经写了下面的方法:

 

 

如果再写Globals.ThisWorkbook.ActivateEvent+=,双TAB后会报以下提示:
此类中已存在处理程序”ThisWorkbook_ActivateEvent”,提示后会默认使用这个方法,明显,我们并不希望这个事件去使用这个方法,而是希望重写一段处理过程代码。
解决:命名为Excel.XXXEvents_Event类型

 

 

 

问题至此完美解决。
不过这个问题一般大家都不会碰到,因为一般没人会ThisWorkbook_ActivateEvent这样写吧。

 

 

 

 

作者:laoyebin(Paladin.lao)
个人网站英文出处:http://mrvsto.com/
个人网站中文出处:http://cn.mrvsto.com/

 

发布了60 篇原创文章 · 获赞 3 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章