再见了,红极一时的微软VBScript!不是VBA

360影视 动漫周边 2025-09-15 14:24 1

摘要:最近很多人打开Excel,运行以前用得好好的宏,突然就报错了,一堆英文弹窗看不懂,宏直接跑不动了。

最近很多人打开Excel,运行以前用得好好的宏,突然就报错了,一堆英文弹窗看不懂,宏直接跑不动了。

有的还以为自己写错了,其实这锅真不在你。

罪魁祸首不是VBA,而是VBScript。

VBA是写在Excel、Access里那种“录个宏自动干活”的,很多人平时就在用。

VBScript是另外一种“幕后脚本”,很多VBA宏为了搞点高级操作,比如正则表达式,都会偷偷借它一把力。、而在此之前微软决定把VBScript淘汰掉,这才引发了现在一连串连锁反应。

其实微软不是突然动手的。

早在2023年就宣布了这事,只是那时候很多人没当回事。

最近Office更新到2508版本,影响开始真切显现:宏里的某些操作突然就崩了,弹窗提示“Assertion Failed”,你一脸问号,不知道哪出问题。

这不是bug,而是VBScript的功能开始失效了。

像以前常用的VBScript.RegExp正则表达式功能,一下就不兼容了。开发社区虽然也给出临时解决方法,比如加个括号凑合跑,但这撑不了多久。

微软已经定下时间表,VBScript会一步一步从Windows里消失。现在还能用,以后就得手动打开,再后来就连打开的选项都没有了。

原因很简单,VBScript太老了,欠缺安全性。

它出生在互联网刚起步的年代,基本没有啥防护机制。

以前很多病毒邮件、网页木马,全靠它搞事,一不小心就能触发执行,门都不关一下。

更关键的是,它已经不是非用不可了。系统级自动化,现在大部分人用的是PowerShell,既安全又强大。

办公里需要的自动化,VBA还能顶得住。VBScript就变成了一个不上不下的尴尬角色,留着还老出事。

还有一个不能忽视的点:微软这几年一直在推动Office从一次性买断转向订阅制(比如Microsoft 365)

像这次,VBA里突然支持了“原生正则表达式”,不再依赖VBScript,但这个新功能只给订阅用户开放。你用Office 2019、2021?不好意思,没有这个待遇。这种操作已经很明显地在引导大家往订阅版靠拢了。

你的宏,是不是也该“退休”了?

很多企业里,Excel根本不是用来算账的,而是当成了“迷你系统”,各种宏、脚本嵌套一堆,一动就全乱。但现在这个局面,不太能撑下去了。

脚本靠的是旧的语言、老的接口,只要微软哪天再动一点,可能整个流程都直接断掉。到时候你不是修一行代码,而是得翻出十年前那位同事的“神秘公式”,然后坐那儿猜它到底在干嘛。

这时候更稳的做法,不是拼命修补,而是开始把流程往更清晰、可控的方式迁移。比如现在有不少企业开始用eversheet,是国内做得比较早的,不会编程也能搞定流程自动化,画excel做出来的东西还可以直接生成手机端应用,真出问题了,业务人员自己就能改,不用等IT那边排队。

说到底,过去是“技术套流程”,今天更讲究“流程驱动技术”

微软这次动VBScript,背后其实也透露出一个趋势:不是技术本身出了问题,而是它的生命周期到了尽头。

你会发现,不只是VBScript,很多我们习以为常的东西,都在慢慢退出舞台。有些被更简单易用的工具替代,有些干脆不再适应现在的安全要求。要是不提前布局,等出问题那天才着急,就晚了。

你现在在用的宏,是不是也有类似的问题?里面有没有调用VBScript的东西?有没有依赖那种没人敢碰的老脚本?

这些问题,最好现在就开始想想了。

最后,你有什么不同的观点?

文 | Meng

来源:清源eamon

相关推荐