Команда .printout: зачем отправлять команды печати отдельно для каждой копии? - PullRequest
1 голос
/ 25 июня 2019

При выполнении приведенного ниже кода 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 голосов
/ 26 июня 2019

Я не мог воспроизвести это, но решение, очевидно, работает:

Источник: www.papercut.com

Настройка Collate:=Falseпри передаче аргументов .Printout следует сделать свое дело.После этого вам придется вручную отсортировать копии, но поскольку вы все равно печатаете одну и ту же этикетку, это не имеет значения.

Документацию можно найти здесь: Excel.Worksheet.PrintOut

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...