注意:批量打印之前一定先设置好默认的打印机。
批量打印word
方法一:借助VBA
代码如下:
Sub 批量打印WORD文档()
Dim fileToOpen, GetOpenFilename, App, iFile
fileToOpen = Application.GetOpenFilename(filefilter:="Word文档(*.do*),*.do*", FilterIndex:=4, Title:="请选择要处理的文档(可多选)", MultiSelect:=True)
If Not IsArray(fileToOpen) Then
MsgBox "你没有选择文件", vbOKOnly, "提示": Exit Sub
Else: Set App = CreateObject("Word.Application")
For Each iFile In fileToOpen
Set WrdDoc = App.Documents.Open(iFile)
App.Documents(WrdDoc).PrintOut
App.Documents(WrdDoc).Close False
T = T + 1
Next
End If
MsgBox "操作完成!!" & vbCrLf & "打印了 " & T & " 个文件。", vbOKOnly, "提示"
End Sub
将代码保存在excel中,直接使用即可。效果演示(本机没有连接打印机,用虚拟打印机代替):
方法二:借助工具 - Batchdoc
关于这个工具之前也介绍过:Batchdoc - word文档批量处理利器
除了批量打印之外,该软件还提供了多个批量任务选项,如:格式设置、页面设置、页眉页脚水印处理、属性设置、图片设置及替换、权限及密码设置、文件更名等等,非常的强大。
批量打印excel
可以参考之前vba的实例:Excel vba 实例(7)-一键批量打印工作簿
扩展一下
借助虚拟打印机软件,可以实现批量把word、excel打印成PDF文件,进而实现word、excel批量转换成PDF文件,比如 Win10 系统中的 Microsoft Print to PDF。
但是,大部分的虚拟打印机会有烦人的交互操作,比如上面方法一,可以看见每打印一次,就会弹出对话框需要选择 PDF 文档保存的位置和文件名,想想看,当我要打印100个文档,选择 PDF 文档保存的位置和文件名的操作要进行100次,这根本是没法接受的。
所有这里分享一个全静默打印的软件 - BullzipPDFPrinter
安装完成后,在打印之前,软件先设置不显示对话框
再设置打印后不自动打开文件
把虚拟打印机设置为系统的默认打印机,然后使用上面批量打印word excel的方法即可。
如果你需要上面vba的代码文件以及BullzipPDFPrinter,微信公众号后台回复「批量打印」索取吧~~
微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com
转载请注明:永恒君的百宝箱 » 你还在挨个打印word、excel文件吗?