Excel的图形用户界面只封装了Excel的大部分功能,通过编程,可以大幅提高Excel的使用效率,可以扩展Excel的现有功能。Excel脚本编程目前有Excel VBA和Python两种实现方式,选择哪种比较好,本节给出了建议。
为什么要进行Excel脚本编程?
Excel拥有美观好用的图形用户界面,它将Excel的大部分功能进行封装,用按钮、菜单项和快捷键等方式发布指令。使用图形用户界面,用鼠标、键盘就可以完成很多办公任务,轻松愉快。
既然使用图形用户界面就可以很方便地完成大部分任务,为什么还要编程呢?主要是因为通过编程,可以更好更快地完成很多手工很难完成或无法完成的工作。具体而言,主要有下面几个方面的内容:
• 可以批量完成重复性的工作。比如新建100个工作表、生成100个同事的工资条等。通过编程来完成,又快又好。
• 可以更高效地完成流程化的工作,先做什么后做什么, 计算机自动完成整个流程。
• 将自己常用的并且Excel没有的功能做成程序,需要使用时进行调用,从而扩展Excel的功能。
• Excel图形用户界面只是封装了大部分常用功能,通过编程,可以使用Excel没有封装进来的功能。
VBA or Python?
VBA语言是VB的一个子集,具有简单易学、功能强大的特点。上世纪90年代末至今,VBA语言被大部分主流行业软件用作脚本语言,包括办公软件如Excel, Word, PowerPoint等,GIS软件如ArcGIS, MapInfo, GeoMedia等,CAD软件如AutoCAD, SolidWorks等,统计软件如SPSS等,图形软件如PhotoShop, CoralDraw等。
近年来,Python语言异军突起,在各大计算机语言排行榜上牢牢占据前3名。Python语言同样简单易学,并且免费开源,在系统运维、网络编程、科学计算等领域取得广泛的应用。Python有很多内置的库和第三方库,每个库在某个行业或方向上提供功能。利用它们,用户可以站在前人的肩膀上,将主要精力放在自己的事情上,做到事半功倍。与本书内容有关的更重要的一个特点是,Python号称胶水语言,被越来越多的软件用作脚本语言。
上面提到的很多行业软件中,ArcGIS和SPSS软件官方已经将Python作为内置的脚本语言,与VBA语言放在一起供用户选择使用。其他如Excel, Word, PowerPoint, AutoCAD等也能找到各种第三方Python包,利用它们可以部分或整体替换VBA,实现对应的脚本编程。
所以,对于Excel而言,进行脚本编程目前有VBA语言和Python语言两种选择。选择哪种语言比较好呢?笔者认为因人而异,如果你的VBA语言基础比较好,就用VBA语言进行编程;如果Python语言基础比较好,就用Python语言进行编程。就功能实现而言,目前使用VBA和Python并没有显著的差别,使用xlwings包,VBA能做的用Python基本上也能做,而且Python在数据分析和数据可视化方面有明显的优势。所以,如果你两种语言都不会,建议你学习Python语言;如果熟悉VBA语言,并且在数据分析方向有更高的追求,建议学习Python语言。
如果已经掌握一门语言,对照学习无疑是快速掌握另一门语言的有效方法。本书将VBA语言和Python语言的语法全部打碎,实现了知识点点对点的对照学习,帮助你快速掌握语言,掌握Excel的脚本编程。