ExcelDna for WPS Personal 项目,支持在WPS个人版的ET中加载XLL插件。带开发示例源代码,在码云开源。

ExcelDna是一个使用托管语言开发Excel xll插件的开源框架。联系QQ 564955427

ExcelDna for WPS Personal 项目简介

1、WPS个人版在加载com插件的时候采用白名单规则,需要预先在注册表写入插件相关的clsid。由于Exceldna的的Ribbon、CTP等功能采用动态clsid注册,因此原版的ExcelDna无法方便地支持WPS个人版。为了符合WPS个人版的白名单注册机制,并保持注册表的整洁,本项目修改了原版ExcelDna的部分代码,将动态注册改为固定的clsid注册机制,可以方便地在WPS个人版的白名单规则下加载Exceldna开发的xll插件。
2、经过两周的研究,我修改了ExcelDna 1.0~1.5的源代码,编译了一个支持WPS个人版的开发框架。
3、本项目是一个众筹项目,由开发Excel催化剂插件的作者李伟坚发起,在三十多人的众筹支持下用了两周时间完成。

主要修复了以下功能:
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  阅读(4342)  评论(0编辑  收藏  举报