微软|微软低头,让Office更好用的VBA宏不再默认禁用了

微软|微软低头,让Office更好用的VBA宏不再默认禁用了

文章图片

微软|微软低头,让Office更好用的VBA宏不再默认禁用了

文章图片

微软|微软低头,让Office更好用的VBA宏不再默认禁用了

文章图片


微软的Office全家桶毫无疑问是目前为止办公领域应用最为广泛的软件 , 同时也是职场人最为熟悉的“武器” , 因此也使得Office的“风吹草动”也受到了外界的众多关注 。 而此前在今年年初 , Offce生态迎来了一次巨大的变化 , 当时微软方面宣布为了打击勒索软件及其他恶意软件 , 将默认禁止Office从外部获取的VBA宏 。
【微软|微软低头,让Office更好用的VBA宏不再默认禁用了】


彼时微软方面表示 , 这一变化将适用于从互联网上下载并包含VBA宏的Office文件 , 其中包括Access、Excel、PowerPoint、Visio和Word五款软件 , 并会自6月开始向Microsoft Office2013以上版本的所有用户推出 。 在启用VBA宏自动屏蔽的Office版本上 , 用户会看到“微软已阻止宏运行 , 因为此文件的来源不受信任”的安全警告 。
但就在半年后 , 微软却“后悔”了 。 日前微软方面表示 , 根据用户反馈、将取消这一改动 , 不再禁用Office的VBA宏 。
要知道当初宣布将默认禁止VBA宏时 , 微软首席项目经理Kellie Eickmeyer是这样说的 , 用户只要点击一个按钮就能执行宏 , 黑客则经常会发送内置宏的Office文件给用户 , 而在不经意激活宏后 , 系统就会被加载各种恶意内容 。



其实 , VBA也就是Visual Basic for Applications , 是微软方面在1993年基于可视化程序设计语言Visual Basic打造的宏语言 。 但VBA与传统的宏语言不同 , 传统的宏语言不具备高级语言的特征 , 没有面向对象的程序设计概念和方法 , 而VBA则提供了面向对象的程序设计方法 , 并提供了完整的程序设计语言机制 。
一直以来 , 在程序员社区里关于编程语言谁更优秀的争论 , 就从未没有停止过 , 诸如“PHP是最好的编程语言”、“千年的编程 , 万年的C”这类也十分常见 , 不过要说到最不受程序员欢迎的编程语言 , 则或许莫过于微软的VisualBasic 。 没错 , 无论是被吐槽为难以阅读、维护的Perl , 还是功能丰富到混乱的C++ , 都没有VisualBasic更让程序员反感 。 而在1998年微软方面不再为VisualBasic提供正式支持后 , VBA就取代了VB , 成为当下程序员最讨厌的编程语言了 。



程序员们讨厌VBA是因为它太简单 , 你没看错 , VBA的使用门槛低正是它被厌恶的原因 。 VBA作为VB的子集 , 延续了后者“所见即所得”的开发环境 , 同时 , VBA采用了解释机制 , 而且提供了强大的逐句解释功能 , 所以运行时不需要编译和链接 。 这意味着 , 不需要经过专业化的计算机科学学习 , 只有一定的逻辑思维能力和对编程有一些认识 , 几天之后就能写出一个像模像样的VBA程序 。



不需要高深的编程知识和专业的程序员 , 每个人都可以写VBA代码 , 这在上世纪90年代到本世纪初无疑是一个非常有吸引力的特质 。 然而 , 这也代表了一直到今天为止 , 许多公司使用的VBA程序依然是由二三十年前的非程序员写的 。 在今天的程序员来说 , VBA这种非现代编程语言自然是备受嫌弃了 。
更为重要的是 , VBA的安全性也很糟糕 。 所谓“宏” , 指的是用户对规则或模式进行预定义的一系列具体操作 , VBA宏的特质就是开启后 , 会高效地进行大批量处理程序编写者预先定义的命令 , 即便VBA宏包含宏病毒等恶意程序也会自动执行 。 为了避免这类情况 , 微软在Office套件的安全级别选项卡中 , 就提供了宏安全性的设置 。