支持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个人版显示窗格

posted @ 2022-02-24 11:10  Charltsing  阅读(3542)  评论(0编辑  收藏  举报