对于需要频繁切换打印机来完成打印工作的人来说,切换打印机的重复操作非常繁琐且没有效率。其实微软早就为大家准备了各种解决重复劳动的各种工具,比如“快速访问工具栏”和“宏”。下面笔者就跟大家来讲讲如何利用这两个工具来为Excel电子表格添加快速打印的功能按钮,只要轻轻点击一下这个按钮,内容就会发送至指定的打印机进行打印,而不用管当前默认的打印机是哪一台。
一、添加“快速打印”功能按钮
首先打开Excel电子表格,点开窗口左上角下拉箭头的“自定义快速访问工具栏”,然后选择相应的功能即可。比如我们选择“快速打印”,这时我们会发现窗口左上角就多了一个打印机按钮,点击这个按钮当前表格就会发送至默认的打印机进行快速打印,比起原来需要先点击“文件”菜单,再点击“打印”,方便许多。
图1
二、启用宏
宏是一系列VBS命令的合集,说到宏脚本,很多人都觉得那是非常复杂难懂的编程语言,其实,微软早就为广大菜鸟用户提供了宏录制功能,即它可以将用户的操作过程以脚本语言的形式保存下来,在您下次需要执行相同操作时,执行一下录制的宏即可。宏一般情况下是默认不启用的,如果你需要使用则必须先去设置启用宏(如图2)。
图2
三、录制宏
例如我们来录制一个打印文档的宏脚本,首先点击“录制宏”(如图3),然后设置宏名称为PLQ_20K,并选择宏保存位置(如图4,当选择保存在“个人宏工作簿”时,将在所有工作簿上都可以执行该宏;注意,如需编辑保存在个人宏工作簿的宏,需要先到视图中取消隐藏),接着进行正常的打印操作,最后再次点击“宏”下拉菜单,选择“停止录制”,这样一个宏就录制成功了;点击“查看宏”就可以看到刚才已经录制好的宏,选择宏并点击执行(如图5),则刚才我们录制的打印操作会自动再执行一遍。笔者发现在Win10系统上无法录制打印操作的宏,但我们可以Win7系统上录制好之后再将宏脚本复制到Win10系统上使用。
图3
图4
图5
四、编辑宏
在刚才例子中录制的宏,在执行时它使用的是默认的打印机,如果我们要让宏使用指定的打印机,那就需要进一步编辑宏了。我们在查看窗口选中宏后,点击“编辑”(如图5)就可以进入到宏编辑窗口(如图6)。在Sub与End Sub之间就是宏脚本(VBS代码),我们不需要深入研究这些代码,只要知道在什么位置插入或者替换一些代码即可。
图6
我们先来看看直接录制打印过程得到的宏脚本如下:
Sub PLQ-20K打印机()
‘
‘ PLQ-20K打印机 宏
‘ 发送至HP EPSON PLQ-20K ESC/P2打印机
‘
‘
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
脚本中以单引号开头的行属于宏说明或脚本注释,是不用执行的,真正执行的代码只有两行,不用说这两行代码的意思肯定是发送当前表格至打印机进行打印。只要我们在这两行代码前加入一行选择指定打印机的代码,那就能实现刚才我们说的使用指定打印机进行快速打印的功能,这行代码就是:Application.ActivePrinter = "EPSON PLQ-20K ESC/P2 在 Ne07:"。添加之后宏脚本如下:
Sub PLQ-20K打印机()
‘
‘ PLQ-20K打印机 宏
‘ 发送至HP EPSON PLQ-20K ESC/P2打印机
‘
‘
Application.ActivePrinter = "EPSON PLQ-20K ESC/P2 在 Ne07:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
这里需要简单地解析一下选择打印机这行代码的使用方法,引号部分的意思是:"打印机名称 在 端口:"。打印机名称我们很容易获取,在控制面板-打印机里面可以看到,但这个端口却不是能直接看出来的,为此我们需要用到下面这个查看当前默认打印机名称和端口的宏:
Sub 查看当前打印机()
‘
‘ 查看当前打印机 宏
‘ 显示当前打印机名称,用于Excel宏调用。
‘
‘
MsgBox Application.ActivePrinter
End Sub
随便录制一个宏,然后将上面的宏代码在编辑窗口中替换录制的宏代码即可。然后我们可以在Excel的打印界面改变当前默的认打印机(如图7),再执行上面的宏来查看当前打印机的名称和端口(如图8)。
图7
图8
在获取打印机名称和端口后,我们将选择打印机的宏代码替换为:Application.ActivePrinter = "Foxit PDF Printer 在 Ne01:",那么使用PDF打印机快速打印的宏脚本如下:
Sub Foxit_PDF_Printer打印机()
‘
‘ Foxit_PDF_Printer打印机 宏
‘ 发送至Foxit PDF Printer打印机
‘
‘
Application.ActivePrinter = "Foxit PDF Printer 在 Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
如果我们在脚本最后加上一句选择回原打印机的代码,那就更完美了,这样还不会改变默认打印机的设置,宏脚本如下:
Sub Foxit_PDF_Printer打印机()
‘
‘ Foxit_PDF_Printer打印机 宏
‘ 发送至Foxit PDF Printer打印机
‘
‘
Application.ActivePrinter = "Foxit PDF Printer 在 Ne01:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.ActivePrinter = "EPSON PLQ-20K ESC/P2 在 Ne07:"
End Sub
五、在”快速访问工具栏“中添加”宏“
上面我们录制好的宏功能很强大,但执行的时候需要依次点击”视图“-”宏“-”查看宏“-选择宏-”执行“,每次都按这个操作过程进行点击也是很烦人的,为此我们可以将宏添加到之前讲到的”快速访问工具栏“,功能按钮显示在窗口左上角,直接点击一下,宏就立即执行了,方便到不行不行的(如图9和图10)。
图9
图10
当然,除了Excel,Word和PowerPoint 也有宏的功能,使用方法类似。
附件:快速打印宏代码
提取码:nzm5
原文地址:https://www.cnblogs.com/conducer/p/10865464.html