|
全新VBA革命性技术基于VSTO而又高于VSTO----走进SqlCelFuncs
VBA开发之痛点分析:
VBA已有30年历史,并且长期没有技术更新。然而VBA依然重要。因为现在是数据时代,数据充斥在职场的各个领域,几乎每个人都会用Excel来处理数据,而对于略微复杂的数据处理需求,最佳的选择就是用VBA来处理。这正是VBA经久不衰的原因。
然而今天的技术已经和30年前截然不同,30年可以让一个婴儿变成婴爸。和同系列的微软高级语言.Net相比VBA就像一个小孩而.Net已经成年。在大人看来一件很简单的事情小孩做起来却很费力。比如内存计算,网页爬虫,数据库操作等等。
VSTO开发之痛点分析:
微软早就看到了VBA的不足,因此VSTO横空出世。VSTO以模板的形式革命性地将.Net技术引入了Office开发,从此用.Net开发Excel变得容易,越来越多的人可以将.Net的强大能力用于Office开发,于是市场上众多Office插件如雨后春笋纷纷冒了出来。这是微软对Office的巨大贡献。请允许我向这家伟大的企业致敬。就像一个美女第一次见到她你会无比着迷,然而时间久了你会发现她也有一些缺陷。作为一门技术,这是很正常的事情,没有任何技术是完美的。作为开发者要做的就是扬长避短。这也是Python厉害之处,它可以将多种语言多种技术融合在一起,成为集大成者,开发者可以在一个环境里面同时结合多种语言扬长避短组合开发。
说了半天还没有说到VSTO这个美女到底有哪些不太美的地方,现在我就来戳个底,以让大家避免盲区:
1)调试费力—— 每次调试VSTO程序,VS不仅要启动.Net还要重新启动Excel。如果电脑的配置比较差,程序规模又比较大,调试一次要1分钟能将程序启动起来。而开发过程中往往要频繁调试。所以请大家记住,如果用VSTO开发硬件必须要跟上,尤其是硬盘请换成固态。如果项目很小另当别论。
2)和Excel对象交互不方便尤其是事件——这一点是最要命的。比如你开发一个Excel外接程序,给Excel绑定单元格或工作表或工作簿等事件,但是这个当这个绑定事件的工作簿关掉之后,所有的事件都会消失。再比如你用VSTO在Excel中插入一个按钮,并给按钮绑定事件,这件小事做起来就很困难。
3)最后一点是最致命的——开发启用宏的工作簿非常不方便。官方的说法是可以开发启用宏的工作簿,但是我从来没见过有人成功开发出一个启用宏的工作簿,如果各位网友有成功案例,麻烦一定在回复中附上,感激不尽。
解决方案——学习Python做一个胶水将VBA和.Net粘在一起——SqlCelFuncs:
VBA在能力上面有不足,但是和Excel对象结合得最好,VSTO开发能力强大,但是和Excel结合不够紧密。所以我们做一种胶水能将VBA和VSTO粘在一起,可以让你在其中肆意妄为的使用VBA又可以肆无忌惮的使用.Net,这个胶水就是我们今天要重点介绍的SqlCelFuncs——(网址:https://sqlcel.com/sqlcelfuncs/)SqlCelFuncs 以函数的形式将VBA和.Net两种技术结合起来扬长避短开发Excel。SqlCelFuncs 自带了100多个函数,这些函数试图将.Net语言上的精华封装起来供用户使用。并且SqlCelFuncs 还预留了很多函数接口供用户开发自定义函数。自定义函数的开发也提供了C#和VB.Net两种模板。 |
|