VBA是VB针对Office的定制版,可独立!一、什么是脚本语言
学术界将『为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言』称之为脚本语言(Script languages)。
所以说,产品没有链接环节的编程语言,就是学术意义上的脚本语言。
二、有哪些常见的误解?
很多人,习惯将解释机制的编程语言称之为脚本语言,其实是不准确的。解释机制,虽然普遍为脚本所采纳,但并非脚本独有。
更有甚者,按源码存在的形态,发挥作用的方式来确定是否为脚本,显然过于粗暴。VBA,网络上能够看得到的,几乎都认为这是一种脚本语言。
三、为何VBA不算脚本语言?
认为VBA是脚本的,大抵是因为它可以录制宏,而且也无法脱离Office环境,运行时不需要编译和链接。毕竟宏语言就是脚本语言的重要分支,既然VBA至少是宏语言,那VBA是脚本语言,没毛病啊。VBA只是统一了Office的宏语言,也就是通过VBA的语法形式兼容原有宏功能,而Office真正的宏功能,依然被保留着,只是大家很少用了而已,相信用过的朋友是清楚的。
VBA采用了解释机制,而且提供了强大的逐句解释功能,所以运行时不需要编译和链接,完全也是可以的。但并不意味着,VBA就没有编译和链接功能所以,VBA是拥有完整的编写、编译、链接和运行环节的传统独立开发工具。
VBA不脱离Office环境,主要还是因为便捷。对于Office而言,容易的编辑环境,是便捷的重要组成形式,提供强加密只会破坏这种便捷性,更何况这对Office本身的安全性并无影响。VBA以源码形态存储,并最终使用逐行解释,就是在贯彻这一思想。
其次,是因为定制的某些特性,需要上下文环境。VBA的代码执行可以实时反馈到Office的操作UI上面,使得VBA代码的编写、调试和运行之间关系更加紧凑直接,沉浸式体验非常好。
最后,以闭源著称的微软,难道真的不知道开源的好处么?
总之,VBA兼容宏功能,具有脚本语言的特征。同时,VBA可以通过编译链接成可执行文件,而脱离Office环境,是一款独立开发工具。但是,因为微软Office的产品定位,VBA又不得不回到源码存储,逐行解释执行的独有方式上来。这便是VBA本来的样子!
欢迎关注BtOfficer(收藏、点赞、关注+转发),更多精彩仍在继续哦(专栏文章将更系统,更全面,但需要阁下支持哦),有严肃的技术,也有轻松的唠嗑,更有便捷的工具,期待你的加入哦!