首页 > 解决方案 > .printout 命令:为什么要为每份单独发送打印命令?

问题描述

当下面的代码执行时,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%。感谢您的任何建议!

标签: excelvbaprinting

解决方案


我无法重现这一点,但该解决方案显然有效:

来源:www.papercut.com

Collate:=False将参数传递给时设置.Printout应该可以解决问题。在此之后,您必须手动对副本进行分类,但由于您打印的是相同的标签,因此没有区别。

可以在此处找到文档:Excel.Worksheet.PrintOut


推荐阅读