VBA Editor Addins --> VBE插件模板開發眾籌


https://www.cnblogs.com/Charltsing/p/VBEAddins.html

QQ:564955427

8月8日測試版功能說明
1、VBE菜單的創建
2、toolwindow的創建及消息監聽
3、識別宿主及版本
4、解決非托管資源釋放問題
5、Inno Setup安裝腳本代碼
 
VBE插件是Com Addins的一種,由於此插件可以在任何使用標准VBA代碼窗口的軟件中使用(例如Office,WPS,AutoCAD,CorelDraw等),所以叫做VBA Editor Addins。此次的眾籌模板實現了開發VBE插件的最基本的幾個功能,代碼近千行,為目前國內首個完整公開源代碼的插件模板。
 
VBE插件與VSTO寫的所謂vbe插件不同,前者無需信任工程,也無需vsto運行庫的支持。
本插件為C#語言開發,同時支持32位和64位 Office等宿主程序。
本插件在VS2017+.NET Framework4.0測試通過。
 
本次眾籌的起因是為了推廣插件開發技術,希望能夠在眾籌人員的監督下盡快的完成插件的模板開發。如果沒有眾籌,也就沒有VBE插件模板開發這回事。目前眾籌模板的測試版已經開發完畢,但僅在參與眾籌的第一批開發者中共享代碼,歡迎想學習Com開發技術的童鞋加入眾籌。為確保代碼不會外流成為某些人的謀利工具,參與眾籌的台階相對較高,請大家諒解。
 
如果大家對VBE插件有什么模板功能要求,無論是否參與眾籌,都可以在帖子里面留言以便讓開發者盡快了解需求。
 
想參與眾籌的QQ與我聯系,謝謝支持。
 
VBE Demo插件的菜單界面,如下圖(包括CommandBar、CommandBarPopup、CommandBarButton、CommandBarComboBox等)
 
 

上圖是CommandBarControl.Click事件封裝之后的回調代碼
這種封裝有兩個好處:
1、所有按鈕的Click事件都被訂閱在同一個函數回調里面,可以通過簡單的case分支判斷執行,不需要寫一大堆click回調函數了。
2、方便資源的釋放,統一在CommandBarControlEventHelper類里面實現對事件的管理。

*********************************************************************************

8月9日補記:

今天有人問我這個模板和網上其他人發的那些幾十行的例子有什么區別?

這個區別簡單的說就是sample和template的區別,也就是例子和模板。前者只是簡單的代碼示例,后者是真正的商業開發代碼。我寫的是真正的template,大約近千行代碼,涉及的功能不是幾十行的sample所能展示的。

對學習C#插件開發的人來說template里面涉及到的singleton模式、IDispose接口、tool window、native window listener、unmanaged com資源釋放等等,都是office插件開發涉及到的一些中級技術,不是隨便買本書就能抄到的代碼。

最后再說一下,寫一個VBE插件並不是實現IDTExtensibility2就可以萬事大吉了,一個真正的插件涉及到的安裝腳本、調試方法、UI界面、com資源管理及釋放、快捷鍵、錯誤處理等等都是新人在插件開發必經之路中的攔路虎,無論你是搞automation addin、 com addins、xll 還是vsto,這些問題都無法回避,而一個完善的模板,可以讓你的插件開發從起跑線就開始遙遙領先。

最后,感謝各位在測試期間的眾籌支持,感謝大家,沒有你們的支持,這個項目是不能如此之快得與大家見面,謝謝!

眾籌說明 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM