1、首先打开Microsoft Office Excel 2007,新建文档并保存文件名《Excel怎样批量打印多个工作簿(文件)的每个表.xlsm》(演示文件,下面代码复制到能运行宏的工作簿都可以),根据上次我分享经验《怎样批量提取文件夹下文件名》编制宏【B1输入列举文件名】,如下图。
2、按下快捷键ALT+F11打开VBE(宏)编辑器界面,双击模块1,在“列举文件名”代码下面复制下面代码,如图。Sub 批量打印文件每个表() '2020-8-15 21:28:01 Dim m$, m1$, i%, r%, myt As Worksheet m = Range("b1").Text r = Range("B" & Rows.Count).End(xlUp).Row - 3 If r = 0 Then Exit Sub On Error Resume Next Application.ScreenUpdating = False For i = 1 To r m1 = Range("b" & i + 3).Text If m1 <> "" Then Workbooks.Open m & "\" & m1 For Each myt In ActiveWorkbook.Sheets myt.Select ActiveWindow.SelectedSheets.PrintOut Copies:=1 Next myt ActiveWorkbook.Close SaveChanges:=False End If Next i Application.ScreenUpdating = True MsgBox "完成"End Sub
3、完成上面两个宏编制,下面是运行宏操作,100个文件2个表全部打印。下面介绍操作步骤:回到Excel 界面,首先运行【列举文件名】宏,生成文件列表。在B1单元格复制修改文件的文件夹路径,再点击命令按钮【B1输入列举文件名】,在B3下生成100个文件列表。如下图。
4、然后运行【批量打印文件每个表】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),100个文件每个表全部打印,运行过程如下图。