支持WPS個人版開發xll插件的ExcelDna框架庫(0.6版),帶開發示例源代碼,在碼雲開源


ExcelDna是一個使用托管語言開發Excel xll插件的開源框架。由於WPS對其支持不好,導致長期以來開發者一直無法在WPS個人版使用ExcelDna開發的xll插件。
聯系QQ 564955427


經過兩周的研究,我修改了ExcelDna 1.0~1.5的源代碼,編譯了一個支持WPS個人版的開發框架。
主要修復了以下功能:
1、支持WPS個人版白名單,確保插件中的Ribbon和窗格可以正確加載。
2、支持識別Excel和ET
3、支持ExcelCommand菜單
使用這個開發框架開發的xll,開發者只需要將ribbon和窗格的progid注冊到WPS個人版的白名單注冊表里面即可。

白名單在注冊表中的位置:
HKEY_CURRENT_USER\SOFTWARE\kingsoft\Office\ET\AddinsWL
加入RibbonUI和CTP相關的ProgID(示例中是DNAForETDemo.Ribbon和DNAForETDemo.CTPHost)。否則Ribbon菜單和CTP窗格所依托的Com Addin不會被WPS個人版加載。

 

藍奏雲下載  
0.6版  壓縮包中帶修改編譯后的xll庫以及示例源代碼,演示了Ribbon、CTP、UDF、ExcelCommand和RTD的使用方法。

有問題請聯系QQ 564955427

全部代碼已經在碼雲開源。


更新歷史

0.6版
1、如果宿主是WPS,ExcelDnaUtil創建Application時,不關閉工作簿1,避免WPS忙導致鼠標轉圈。問題解釋:ExcelDna在創建Ribbon、CTP、ExcelCommand等操作之前,需要獲取Application。但宿主初次啟動時並沒有准備好Application,所以需要使用xlcNew創建一個工作表,以便后繼可以獲取宿主的Application。這個操作會導致出現一個sheet1或者book1。在Excel2013及以后版本中,我們可以關閉sheet1,這樣用戶新建的工作簿會從Book1開始。而WPS不支持直接創建sheet1,只能創建工作簿1。有人反饋勾選插件之后啟動WPS時會出現工作簿1的鼠標轉圈現象,為了避免這個問題,不再關閉工作簿1。副作用是會導致勾選xll插件之后,WPS啟動時直接進入工作簿1。
2、修復ExcelDna卸載ExcelCommand時的bug。

0.5版
1、增加v1.1.1版release編譯 vs2015+v141_xp
2、增加v1.5.1版release編譯 vs2022+v143+net452


0.41版
1、測試RTD通過
2、增加release編譯

0.3版
1、支持ExcelCommand

0.2版
1、支持ET識別 ExcelDnaUtil.IsET
2、如果宿主是ET,ExcelDnaUtil.ExcelVersion=16.99。獲取WPS真實版本可以使用Application.Version。
3、屏蔽了在開發工具加載項中去除勾選插件時,ExcelDna的彈窗錯誤。

0.1版
支持WPS個人版顯示窗格


免責聲明!

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



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