分享

UC头条:Excel开发生态中“无法撼动的蟑螂”,从XLM到VBA,再活500年!

 生有崖学无边 2021-12-02

戏说Excel系列(二)蟑螂传奇

原创文/寒树Office图/寒树Office

点击加载图片

引文:VBA是Excel突出重围,打败对手的大杀器,Excel取得巨大成功的重要原因。Excel从1993年就开始支持VBA,拥有25年的支持生命周期,VBA就是Office开发生态系统中的“无法撼动的蟑螂”。蟑螂是成功的,因为它们很简单。

VBA的起源

点击加载图片

Lotus1-2-3,首次出现宏功能

Lotus1-2-3是最早具备一定开发能力的“电子表格”,其最辉煌的成就不是多功能的集成,而是其推出的“宏”功能。最初“宏”只作为产品的调试和测试机制,后来开发人员才意识到“宏”的价值,在最终版本中添加了“宏”功能。“宏”为非程序员编程及表格自动化提供了简便有效的帮助,帮助Lotus1-2-3成为“电子表格”市场的领军产品。

Excel4.0,开始引入XML宏

XML宏只能在“宏表工作表”中编写代码,代码保存在后缀为.xlm的单独文件中,因此被称为XLM宏。XLM宏语言包括函数调用以及上百个内建函数,使用户可以通过编程控制Excel的各种操作,因为如此吸引了一些具备很强编程能力的人创建复杂的程序,但是XLM宏语言的在使用上相当的复杂,因此远离了广大的群众用户。

Excel5.0,推出VBA通用宏

此次微软大胆引入VBA宏语言,VBA继承了VB很大一部分编程方法。VBA是一款功能强大的工具,它使Excel形成了独立的编程环境。使用VBA和宏,可以把手工步骤自动化,VBA也允许创建窗体来获得用户输入的信息。作为Office通用的宏语言,VBA比XLM更简单,更强大、更有效率。Excel97发布之后VBA最终发展成为主流的宏语言。

XML宏“僵而不死”

XLM宏从Excel4开始被引入,但是从Excel5及更高版本开始被更强大易用的VBA所替代,从此不再有本质上的更新。

点击加载图片

命令宏

它的功能一般都和菜单选项或其它Excel命令相同。和通常的Excel命令相似,命令宏的最显著特点是可以影响工作环境(工作表、工作区)。不管是格式化范围、打印工作表或建立通用菜单,都能用命令宏来做。

函数宏

它和内置的函数相似,他的显著特点是可以接受参数,并在运处后返回结果。设计比较好的函数宏对当前环境没有影响。

子程序宏

它是命令宏和函数宏的结合。它象函数宏那样能带参数返回结果,又像命令宏那样能影响工作环境。子程序宏经常被其它宏引用,主要目的是简化宏代码。

VBA宏“老兵永不死”

点击加载图片

原则一:五分钟原则

VBA只做需要为Office生态而做的事,而不是更多。VBA做了它的创造者为其市场定位所做的事情:让使用者以较少的经验快速实现有限的功能。这绝不意味着开发复杂应用的重型功能。复杂的事情,比如处理线程,是不合适的。如果五分钟内无法解决一个特定功能,应该考虑一下其它种类开发技术。

原则二:最快学习原则

VBA成功的另一个关键是其有限的功能集,缩短了学习曲线。成为一名优秀的VBA程序员所花费的时间比成为一名优秀的C#程序员所需的时间要少得多,而这正是早期Office开发者的主要选择。如果是以自动化Office软件操作为目的,以快速上手Office操作为目标,VBA是最佳选择。

原则三:免写代码原则

最后Office提供了VBA宏录制(macrorecorder)的支持,可以录制大多数重复性的工作,以最简单的方式并自动生成代码。宏录制是多数非程序员出身职场小白的最佳选择,VBA也成为了唯一选项。

VBA,无法撼动的蟑螂

点击加载图片

VBA是Office取得巨大成功的重要原因之一,使用VBA可以完成很多事情,基于Excel的VBA小程序更是不计其数。Excel从1993年就开始支持VBA,拥有25年的支持生命周期,VBA就是Office开发生态系统中的“无法撼动的蟑螂”。蟑螂是成功的,因为它们很简单。VBA通过抽象底层Windows操作系统的复杂性来实现其目标。VBA的语言入门门槛较低,而这些用户利用VBA解决的正式工作中关键问题。简单的事情很容易完成。因此,VBA程序大多作为部门内部或个人使用的小工具。

TimeLine/史记.宏

点击加载图片

1983,电子表格首次引入宏功能

1992,微软开始引入XML宏

1993,伟大的VBA横空出世

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多