设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1485|回复: 0

[VBA] 全新VBA革命性技术基于VSTO而又高于VSTO----走进SqlCelFuncs

[复制链接]

30

主题

220

金钱

355

积分

入门用户

发表于 2019-4-26 14:34:52 | 显示全部楼层 |阅读模式

全新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两种模板。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表