打印,是办公中必不可少的一步,比如在会议上,我们需要通过 Excel 表格向客户 / 领导展示工作成果。
但在使用 Python 对 Excel 进行打印的时候,我们还得给 Python 安装上 Excel、Windows 和硬件设备管理的库,过程极其复杂,远远达不到我们自动化办公的需要。尤其是面对类似的临时性需求,就更没必要使用 Python 了。
庆幸的是,Excel 自带了打印功能,而我们可以利用 Excel 的扩展——“宏”来实现打印,并且通过 VBA 脚本增强“宏”的功能,从而实现批量打印,满足我们自动化办公的要求。
那么在今天这节,就学习 Excel 的另一个自动化功能:“宏”和 VBA 脚本。
宏和 VBA 脚本的用途
宏是 Excel 自带的扩展功能,可以记录的内容包括对 Excel 格式和文字的修改,它会像录像机一样记录下你在 Excel 中的操作。当你有一系列的动作需要多次执行,并且每次执行动作的顺序又完全相同,就可以重新播放,把这些操作自动再执行一遍。所以对于办公中临时性的需求,使用宏要比掌握每个 Excel 操作对应的 Python 函数要更简单。
你可以使用宏的录制功能,把格式调整、复制粘贴、打印等重复操作记录下来,并保存成一个快捷键。当你需要重复执行这条流水线作业时,就可以通过执行快捷键实现自动化操作。
不过,虽然宏能够像录像机一样通过重放功能实现自动化,但是它默认情况下只能实现部分功能的录制,也就是半自动化,要想把另一部分也自动化,就要使用宏的底层实现 VBA 脚本,例如像批量打印这些需求,就需要 VBA 脚本的循环扩充宏来实现自动化。
所以在这节,还会带你学习宏的底层实现 VBA 脚本,利用 VBA 脚本可以扩展宏的功能,把手动操作部分实现自动化。
那么接下来,就通过对 Excel 的任意一个工作表进行打印的案例,具体讲解一下宏的录制和执行。
如何实现 Excel 的批量打印
使用宏,实现单个工作表的打印
为了方便你学习,准备了一个包含 6 个工作表的 Excel 文件,这 6 个工作表命名分别为 sheet1-sheet6。要想基于宏实现自动化打印,需要通过这个步骤来实现:
1. 录制宏;
2. 手动执行一次操作;
3. 停止宏录制;
4. 通过快捷键执行宏。
首先先来带你看一下,怎么把打印的过程录制为宏。
录制宏,需要指定宏名称和快捷键。你需要在 Excel 的“视图”菜单栏找到“宏”下拉列表,在其中选择“录制宏”按钮,点击按钮就会弹出“录制宏”窗口。此时你需要把宏名改为“打印工作表”,再把快捷键改为 Ctrl+Shift+P,点击确认之后,你接下来对 Excel 的操作就会被宏自动记录了。
这里以录制“打印 sheet2 工作表”这个操作为例,把录制宏的窗口截图贴在下方,供你参考。
录制前有两点需要你注意:
1. 快捷键如果和 Excel 默认的快捷键发生冲突, 那么默认的快捷键功能就会失效,因此在录制前,你在给