.printout命令:为什么要分别为每个副本发送打印命令?

时间:2019-06-25 08:59:16

标签: excel vba printing

执行以下代码时,Excel将为每个副本将单独的打印输出命令发送到打印机,而不是为所有副本仅发送一个命令。

该问题大大减慢了打印过程。如何通过向打印机发送较少的命令而不是为每个副本发送单独的命令来加快速度?

Sub tryPrint()
Dim Barcode As Worksheet
Set Barcode = Sheets("ETIKET")

Application.PrintCommunication = False
With Barcode.PageSetup
   .FitToPagesTall = 1
   .FitToPagesWide = 1
End With
Application.PrintCommunication = True

Barcode.PrintOut , Preview:=False, Copies:=4, ActivePrinter:="\\MUHASEBE\Argox OS-214 plus series PPLA"

End Sub

例如:指定了4个副本后,代码会将4个不同的命令发送到打印机:

Barcode 1
Barcode 1
Barcode 1
Barcode 1

相反,我希望它按以下方式发送:

Barcode 4

这样,它将使处理过程加快100%。 感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

我无法重现此内容,但是该解决方案显然可行:

来源:www.papercut.com

在将参数传递给Collate:=False时设置.Printout应该可以解决问题。在此之后,您将必须手动对副本进行排序,但是由于无论如何都要打印相同的标签,所以没有什么区别。

可以在这里找到文档:Excel.Worksheet.PrintOut