双面打印

时间:2018-07-10 14:08:55

标签: excel vba excel-vba

我有一个工作簿,其中包含200个需要打印的工作表。

在工作表上,其中一些长1页,其中一些长2页。

我想在两面打印,但是当我这样做时,它会将不同的工作表放在两面。

每个工作表都需要放在另一张纸上,如果工作表是一页,那么我需要在一张纸上显示,而下一页长的工作表需要在另一张纸上。

是否可以使用VBA做到这一点?

请帮助!

谢谢

2 个答案:

答案 0 :(得分:0)

尝试以下代码:

Sub print_all()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.PrintOut
    Next ws
End Sub

这将循环浏览工作簿中的所有工作表,然后分别打印出每一页。请注意,它会打印到默认打印机,但是您可以通过为ActivePrinter方法设置PrintOut参数来设置哪台打印机。

答案 1 :(得分:0)

如果您对多个工作表(如

)使用一个.PrintOut,则会有所不同
Sheets(Array("Sheet1", "Sheet2", "sheet3")).PrintOut

,或者为每个工作表单独使用.PrintOut

Sheets("Sheet1").PrintOut
Sheets("Sheet2").PrintOut
Sheets("sheet3").PrintOut
  • 第一个将连续打印所有双面打印的纸张(因为它们仅一张)
  • 第二个将在单张纸上打印单页纸(不留背面空白),并在双面打印多页纸。永远不会在一张纸上打印两张不同的纸。