VBA的商业价值,究竟谁挡了道

北京中科白殿风医院怎样 http://www.pfzhiliao.com/m/
有用,却值不了钱,我这暴脾气也很无奈

前言

VB/VBA在办公领域里,借助办公软件的接口,可开发非常丰富的办公工具。非常容易上手,代码容易调试,开发速度又快,对于很对职场人士,都是不错的办公利器。按理说,市面上应该有很多深度开发的工具,但实际上却屈指可数。国外一众VBA程序都能卖钱,为什么国内就很少看到?有人说很容易破解,不讲武德的话,破解版满天飞。难道就没有手段防止破解了么?VBA的商业价值无法体现,除了开发深度和代码保护的原因外,还有什么原因呢?

一、VB/VBA的优势不少

VBA依附于微软Office,是生产力工具的代表,具有极高的使用价值,这是毫无疑问的。VBA以极任性的方式(可参考《Variant构造智能指针,撒欢了玩》),极大地降低了的使用门槛,将广大非IT专业人士纳入开发者阵营,在各行业大大小小的企事业单位中,结合专业优势发挥着更精准的软件价值。

这也是笔者在《明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风》中,极力推荐广大非IT尝试通过VB/VBA步入编程大门的根本原因。不仅仅因为VBA,在年了,仍然是办公领域的利器,更因为垄断的微软和垄断的Office,自身具备的天然生态环境。

VB/VBA与其他专业开发工具的比较,网上的口水已能装满一个湖。为了给广大非IT以学习的信心,笔者站在专业开发者、IT投资和行业分析师的角度,不仅给大家伙分享更多VB/VBA高阶开发资料,也在《早判了,VB已死,但我说话了么?》、《VB/VBA,请让我点名表扬你》、《Python取代VBA?先问C#答应否!》、《Office开发,选VSTO,还是VBA,Python行吗?》等系列文章中有所分析,感兴趣的朋友,可直接点进去阅读,此处就不再赘述。

二、VB/VBA的劣势也是一箩筐

毕竟VB这一脉,从一开始就不是专业开发工具。最初,它只是作为非计算机专家们(普通的职员、文科学生)使用计算机的途径。当然,从现在的角度很难理解s那会儿的情形,没有鼠标视窗下拖拖点点的各色软件,编程是那时唯一与计算机交流的方式。

后来,在微软的深耕下,VB加入了越来越多的专业化要素,但面向非IT专业人士的本性,仍然在市场占比中表现得淋漓尽致。所以,遭受诟病无可厚非,更何况很多吐槽者,只想要一个更现代,更懒的工具,对VB本身根本就缺乏深入的了解。

说了那么多,还是围绕商业价值,来说说吧。其实,笔者在之前的《Office加密?来看Excel、Word等群演的皇帝新装》、《VBA耕田犁地,却连软著的名分都没有,甘心吗?》里,就已分析过,感兴趣的可以点击查阅。以下,算是进行一些补充和强调吧。

1、毕竟VB/VBA的定位,就是为Office服务,VBA改装后更成了Office的脚本语言。VBA与VB的区别与联系,可参阅《VB/VBA虚拟机》、《VB/VBA虚拟机之VBA6.DLL》、《VB/VBA虚拟机之MSVBVM60.DLL》及后续文章。缺乏独立性的VBA,极大地限制了其商业开发。

2、国内软件行业的历史惯性。一方面跟软件的特性有关,理论上任何软件均可破解。另一方面,我国软件行业起步较晚,无论是自主发展,还是外来产品占领市场,都经历了一段野蛮生长期。自主发展,起步晚,学习理所当然,而软件行业学习的最佳手段就是逆向。当然,一些不法之徒,也常常利用逆向技术,对各大商业软件进行破解,以满足国内用户在功能上的需求。

在这段时期里,盗版(破解)软件,满天飞。很多老一代网民,从系统到各大应用软件,都习惯了免费的盗版货。时至今日,这部分人对软件的付费意愿也是相当的低。这也很多国外产品占领国内市场,用于培育使用习惯的一种手段。比如说微软的Windows系统,Office套件。现在,让人免费用国产系统(基于Linux),免费用WPS,是不是还有很多人非常抵触!甚至,现在有很多共享软件,在发行后不久,就主动提供各种破解版。

从法律监管的角度,也是经历了一个从无到有,再逐步到合理规范的过程。但软件产品,不同于其他实体产品,行业监管者、从业者和使用者之间,有一个认知上的磨合期。就VBA而言,国内应该没有VBA代码可以申请法律上认可的软件著作权的先例,最多只能认定为专有技术。因此,从法律保护这块,他就缺了爹少了娘。

软件产品是极易复制和改装的,即便从汇编机器码角度,也很难防止洗稿行为,更何况申请软著时连源码也都象征性的看一点。因此,软件行业,要想产品具备商业价值,除了产品解决问题的价值外,更主要的还是要避免其他人抄袭和破解。除了法律手段保底外,其实主要还是依靠软件自己玩一些猫和老鼠的游戏。

行业尚且如此,对于VBA而言,就更惨不忍睹了。VBA没有原生的编译支持,只能利用虚拟机对源码逐句解释执行。也就是说,源码就在那里,不增不减。这比编译后的反编译理解产品,可是要容易多了。然而,还有更糟心的,Office的密码体系,仅用于防止意外修改,不做强度保证。事实上,VBA的工程源码,无论怎么折腾,都能取出来。至少目前网上的方法,都是然并卵的。

在这样的使用环境下,再加上VBA源码的白送,能卖到钱,也只能是可遇不可求。VBA恼火之处,不仅仅在深度开发上的专业困惑,更在于有使用价值,但你就是卖不了钱。

3、跟开发用户群密切相关。开发者几乎清一色非IT,对计算机技术一知半解,只能在VB/VBA的舒适圈里扑腾,很难写出高质量的VB/VBA代码。尽管VBA本身具有强大的功能,但实际下来成了开发者解决自己职业问题的工具。在有限的投入下,能用就行,没有外在质量上的诉求。

对VBA价值有认同的,也同样局限于VBA的使用者群体。专业开发人员从来都是对VBA嗤之以鼻的,自然没有价值。普通用户,你拿个Office文档就想当软件卖钱,无异于诈骗。再说了,网上破解工具一大堆,白嫖不香么!而对于VBA开发者而言,既然都上了编程的车了,不学习学习实在是过意不去呀,毕竟能看到源码,注释都好好的呢!

如此这般,上哪儿找商业价值去!

三、VBA的商业价值,如何破?

1、除了期待更健全的法治环境,在常规模式下,也只能仰仗人们的节操了。

2、在现实中,很多人都转向专业工具的模式,也即加大白嫖的难度。

其中,最简单的途径,就是借助VB的编译机制。将核心VBA代码编译为dll,以加载项的方式提供给VBA使用。目前有很大一部分Office加载项工具箱,都是以这种方式提供可销售产品,实现VBA的商业化。但随着VB6的停更,各种落伍和消亡的论调让这一方式蒙上了一层厚厚的阴影。其实大可不必担心,因为VBA已经从6时代,升级到了7时代,而VBA是支持PCODE编译的。

其次、转向以C#等专业工具开发的加载项。但门槛自然提升到了专业级别,自然难倒了众多半路出身的英雄好汉。拿VSTO为例,整体上都不是很景气,更别提非IT人群了。随着Office的推出,云端办公已是未来的趋势,基于前端的各种技术,也加入到了Office的开发队伍中,但估计也只有更少的专业人员才有所涉猎。

3、行,行行出状元,成功讲究的就是精专。只有更深入学习VB/VBA,融会贯通多种工具,才能写出更优秀的代码,才能在VB/VBA便捷的基础上开满妖艳的小花朵。

更多VB/VBA高阶内容,请


转载请注明:http://www.aierlanlan.com/rzgz/2284.html

  • 上一篇文章:
  •   
  • 下一篇文章: