我个人认为,如果非要在 Excel 上评出一个最伟大的功能创新的话,那就是宏了。尽管在一些人眼中,宏就是病毒,是危险,是不能触碰的东西。
Excel 本身其他的功能已经足够强大和高效了,但是宏却使它更进一步——它能够对原本没有的功能进行定制化的扩展。
宏是一个很能体现程序员思维的功能——它的本质就是编程,基于VB的脚本代码。但它又降低了使用门槛——它提供了丰富的内置 API,并且你可以把对表格的操作录制为脚本,然后再去修改。使用它,你可以创建新的按钮功能、新的函数,甚至我见过有人把一个办公用的表格变成了一个小游戏。它可以实现数据的自动化处理,使得我在处理一些表格时效率可以提升数倍到数十倍。
WPS 是我用得特别顺手的办公软件,它满足了我的需求又经常超出我的期望。但唯有一点让我用得不快,那就是它的宏功能。
WPS 默认是禁用宏功能的。要想启用它,需要另外去下载一个叫 VBS FOR WPS 的安装包进行安装,之后宏功能才可以正常使用。
WPS 保留了录制宏的功能,但却不能把宏单独导出,而只能与工作簿一起保存。其实有时候编写的宏是针对于某一类而不是局限于某一个工作簿的,所以在我看来,就应该允许它单独导出。而为了保存宏却同时保存一个冗余的表,在我看来没有意义,未免画蛇添足。
但是,WPS 上宏的局限性不止于此。如果你想在一个新的工作簿中执行之前保存的宏,你得再打开保存了宏的文档,在打开时选择启用宏,然后回到原来的文档,才能在运行宏的对话框上找到这个宏。也就是,我们无法把常用的宏保存为用户库。
宏纵然具有一定危险性,但也不应该把它打入冷宫——变成一个用起来极为不便的功能。对于一般用户,可以让它的入口更深,启用时多一些询问及注意事项的提醒。但是对于有能力操控它的人,这个功能应该更开放且方便。比如,允许把宏单独保存,并且保存到用户库里使得可以直接加载而不用另外打开别的文档。而在选择宏时,能展示有关它的其他信息——比如读取它的注释作为它的自我介绍及展示它的开发者签名信息及修改时间。再者,防止宏被意外篡改,比如添加到用户库的脚本不允许再修改,只能添加或删除。总之,宏虽是双刃剑,但它毕竟是效率利器。你可以增加普通用户启用它的难度,但对于熟悉它的用户,不应该刻意降低它的效率。