采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户

采用XLL封装工作表函数的演示,确保工作表上的公式不暴露给用户

近期不少朋友询问关于如何使用XLL加载宏来确保工作表上的公式不暴露给用户的问题。

我做了一个演示,演示了以下功能:
1、如何自动通过VBA代码加载XLL
2、使用XLL自定义函数代替工作表函数
3、在文件关闭时注销自定义函数(通过封装的函数实现)。
4、文件启动后,在Excel的加载项列表里面看不到演示的加载宏。
5、自定义函数里面,也看不到演示的三个函数。只能看到暴露给用户的几个其他函数(这几个函数与本演示无关)。

该文件经测试在2003、2007、2010下正常。其余版本未测试

XLL封装工作表函数的演示





高频问题:
1、XLL封装与普通的VB DLL封装相比,有什么优势?
答:普通的DLL需要注册,XLL不需要提前注册,部署方便。而且XLL可以实现自动升级,DLL如果更新文件需要重新在注册表中卸载老版本注册新版本。

2、XLL封装与COM加载项相比,有什么优势?
答:XLL与COM相比,并无优势,而且后者在未来发展比XLL更好。但由于ExcelDna项目的出现,XLL的开发可以采用.Net语言,开发效率提高10倍,适合初学者。Com加载项的开发对初学者来说,还是不太适合的。此外,采用Com加载项开发自定义函数,需要用VBA代码加个壳才能被当作自定义函数使用。

3、如何开发XLL加载项
答:标准的XLL开发需要微软的XLL SDK,并使用C、C++语言进行,开发周期长。本人建议采用ExcelDna项目通过C#开发,写一个简单的加载宏只需要几分钟,最多半小时。具体请参考 http://club.excelhome.net/thread-964658-1-1.html

4、对本论坛的会员来说,开发XLL有什么困难?
答:最大的困难是需要重新学习.Net语言。如果有编程基础,C#入门需要7天。如果没编程基础...,嗯,俺得想想...

5、XLL可以保证源码不外泄或者算法不被破解吗,采用.Net语言开发XLL,源码会不会外泄?
答:任何语言开发的软件都可能被破解,问题在于破解的投入与产出是否匹配。如果你采用C、C++来开发XLL,一般不必担心被破解的问题。如果采用ExcelDna项目开发,我的建议是不要使用.dna文件进行明码的开发,可以考虑使用DLL+混淆(用VS2010开发)。对普通使用者来说,这样就足够了。当然,如果你开发的东西很值钱,可以考虑购买商业的加壳软件对你的作品进行保护。

转载于:https://www.cnblogs.com/Charltsing/archive/2013/05/22/XLL-Addins.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值