VBA Editor Addins -- VBE插件模板开发众筹
https://www.cnblogs.com/Charltsing/p/VBEAddins.html
QQ:564955427
8月8日測試版功能說明 1、VBE菜單的創(chuàng)建 2、toolwindow的創(chuàng)建及消息監(jiān)聽 3、識別宿主及版本 4、解決非托管資源釋放問題 5、Inno Setup安裝腳本代碼 VBE插件是Com?Addins的一種,由于此插件可以在任何使用標準VBA代碼窗口的軟件中使用(例如Office,WPS,AutoCAD,CorelDraw等),所以叫做VBA?Editor?Addins。此次的眾籌模板實現(xiàn)了開發(fā)VBE插件的最基本的幾個功能,代碼近千行,為目前國內(nèi)首個完整公開源代碼的插件模板。 VBE插件與VSTO寫的所謂vbe插件不同,前者無需信任工程,也無需vsto運行庫的支持。 本插件為C#語言開發(fā),同時支持32位和64位?Office等宿主程序。 本插件在VS2017+.NET Framework4.0測試通過。 本次眾籌的起因是為了推廣插件開發(fā)技術(shù),希望能夠在眾籌人員的監(jiān)督下盡快的完成插件的模板開發(fā)。如果沒有眾籌,也就沒有VBE插件模板開發(fā)這回事。目前眾籌模板的測試版已經(jīng)開發(fā)完畢,但僅在參與眾籌的第一批開發(fā)者中共享代碼,歡迎想學習Com開發(fā)技術(shù)的童鞋加入眾籌。為確保代碼不會外流成為某些人的謀利工具,參與眾籌的臺階相對較高,請大家諒解。 如果大家對VBE插件有什么模板功能要求,無論是否參與眾籌,都可以在帖子里面留言以便讓開發(fā)者盡快了解需求。 想?yún)⑴c眾籌的QQ與我聯(lián)系,謝謝支持。 VBE?Demo插件的菜單界面,如下圖(包括CommandBar、CommandBarPopup、CommandBarButton、CommandBarComboBox等) ?上圖是CommandBarControl.Click事件封裝之后的回調(diào)代碼
這種封裝有兩個好處:
1、所有按鈕的Click事件都被訂閱在同一個函數(shù)回調(diào)里面,可以通過簡單的case分支判斷執(zhí)行,不需要寫一大堆click回調(diào)函數(shù)了。
2、方便資源的釋放,統(tǒng)一在CommandBarControlEventHelper類里面實現(xiàn)對事件的管理。
*********************************************************************************
8月9日補記:
今天有人問我這個模板和網(wǎng)上其他人發(fā)的那些幾十行的例子有什么區(qū)別?
這個區(qū)別簡單的說就是sample和template的區(qū)別,也就是例子和模板。前者只是簡單的代碼示例,后者是真正的商業(yè)開發(fā)代碼。我寫的是真正的template,大約近千行代碼,涉及的功能不是幾十行的sample所能展示的。
對學習C#插件開發(fā)的人來說template里面涉及到的singleton模式、IDispose接口、tool window、native window listener、unmanaged com資源釋放等等,都是office插件開發(fā)涉及到的一些中級技術(shù),不是隨便買本書就能抄到的代碼。
最后再說一下,寫一個VBE插件并不是實現(xiàn)IDTExtensibility2就可以萬事大吉了,一個真正的插件涉及到的安裝腳本、調(diào)試方法、UI界面、com資源管理及釋放、快捷鍵、錯誤處理等等都是新人在插件開發(fā)必經(jīng)之路中的攔路虎,無論你是搞automation addin、 com addins、xll 還是vsto,這些問題都無法回避,而一個完善的模板,可以讓你的插件開發(fā)從起跑線就開始遙遙領(lǐng)先。
最后,感謝各位在測試期間的眾籌支持,感謝大家,沒有你們的支持,這個項目是不能如此之快得與大家見面,謝謝!
眾籌說明?
轉(zhuǎn)載于:https://www.cnblogs.com/Charltsing/p/VBEAddins.html
總結(jié)
以上是生活随笔為你收集整理的VBA Editor Addins -- VBE插件模板开发众筹的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bootstrap validator
- 下一篇: 图片Alpha预乘的作用[转]