excel2007怎么批量打印?能个我vba?

2025-04-15 00:11:36
推荐回答(1个)
回答1:

我对打印excel没有任何经验(手动也没打过,也没打印机),但我之前写了个方便汇总一个文件夹内所有的excel的宏,说到底就是要遍历文件夹内所有的excel,以下代码的这两句我是参考网上用VBA打印的语句的。
.PageSetup.PrintArea = ""(这句意思是消除预设打印区域)
.ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
代码虽然我没办法测试,不过应该可行的,你可以试试,只要在一个新建excel输入以下代码,保存,放进你需要打印的文件夹,再打开这个excel文件,运行,就OK了!至于一个文件内还有子文件,子文件内又含有excel那种需要用到递归,那种写起来比较麻烦,我就不给出了

Sub 打印()
Dim mypath As String, myname As String, Dname As String

mypath = ThisWorkbook.Path

myname = ThisWorkbook.Name

Dname = Dir(mypath & "\*.xls")

Do While Dname <> ""

If Dname <> myname Then

With GetObject(mypath & "\" & Dname)

.Activesheet.PageSetup.PrintArea = ""

.ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True

.Close False

End With

End If

Dname = Dir

Loop

End Sub