爲什麼有些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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章