Nic*_*ica 3 printing excel vba duplex excel-vba
我有2张Excel表格,即"For Print"和"Sheet 4".我想使用VBA自动从前到后打印纸张.这是我当前的代码,但在打印第一页后需要用户操作.
Sub Rectangle4_Click()
Dim PageFrom As Integer
Dim PageTo As Integer
Dim xAnswer As Integer
PageFrom = Sheets("INPUT").Range("J2").Value
PageTo = Sheets("INPUT").Range("L2").Value
Sheets("For Print").PrintOut From:=PageFrom, To:=PageTo, Copies:=1,
Collate:=True
'--------------------------------------TO PRINT PAGE 2--------------------
xAnswer = MsgBox("Print Page 2?", vbYesNo + vbQuestion, "Empty Sheet")
If xAnswer = vbYes Then
Sheets("Sheet4").PrintOut From:=1, To:=1, Copies:=PageTo, Collate:=True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
请帮忙 :(
我需要在不设置打印机属性的情况下打印它.我的老板告诉我有一个控制打印机API的代码.我们的打印机是FujiXerox.
非常感谢.
我试着按照你说的做,但它打印在单独的页面中.我想仅在1页打印这些,双面打印.
直接说双面打印不是Excel(或Excel表)的选项(或未来).这是打印机的一个功能.因此,根据打印机期货和打印机设置,您可能或者可能无法在纸张的两面打印纸张.
要打印的页数取决于工作表的PageSetup.例如,如果您将纸张设置为在1页上打印:
With ThisWorkbook.Worksheets(Array("For Print", "Sheet4")).PageSetup
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
Run Code Online (Sandbox Code Playgroud)
然后你使用PrintOut方法,你会看到2页.如果双面打印已正确设置,则双面打印1页.
正如PEH已经提到的,能够在单一方法中传递两张纸是使用:
ThisWorkbook.Worksheets(Array("For Print", "Sheet4")).PrintOut
Run Code Online (Sandbox Code Playgroud)
请按照我在答案中提供的链接获取更多详细信息.
[编辑]
以下是一组可帮助您解决问题的链接:
Excel VBA打印机API,设置颜色和双工
控制宏中的打印机
使用多个打印机