excel - .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%。感谢您的任何建议!
解决方案
我无法重现这一点,但该解决方案显然有效:
Collate:=False
将参数传递给时设置.Printout
应该可以解决问题。在此之后,您必须手动对副本进行分类,但由于您打印的是相同的标签,因此没有区别。
可以在此处找到文档:Excel.Worksheet.PrintOut
推荐阅读
- python - 如何格式化嵌套字典列表以以人类可读的形式写入文件
- python - 嵌套for循环以在Python中制作三角形图案
- object-detection - 检测对象并找出点云中该区域内所有对象的比例
- android - 为什么 DataBinding 视图可见性不起作用
- java - 如何从注册的车牌中获取车主信息?
- c++ - 有什么方法可以在 OpenCL 中使用屏障来实现原子功能?
- php - 由于出现致命错误,无法在 PHP 7 中加载类 php-ds 类:找不到类
- azurekinect - Azure Kinect 超时应该多长时间?
- javascript - 如何通过flask将for循环的每次迭代结果发送到html
- javascript - 使用“scroll-behavior:smooth”时如何获取元素的实际scrollLeft