Непредвиденное поведение при использовании другого качества печати для листов в Excel
Симптомы
При печати нескольких листов в Microsoft Excel может быть создано несколько заданий печати. Это может привести к следующему поведению:
Если вы печатаете в файл, в файл печатаются только некоторые листы; Оставшиеся листы печатаются на принтере.
При печати в файл может появиться запрос на ввод имени выходного файла несколько раз.
В результате создается несколько выходных файлов. Каждый файл содержит часть полной распечатки.
Если вы используете макрос Microsoft Visual Basic для приложений для печати листов, макрос может завершиться ошибкой из-за нескольких запросов на имена выходных файлов.
При печати на сетевом принтере, который активно используется, задания печати могут быть смешаны с заданиями печати других пользователей.
Причина
Это происходит при использовании разных параметров качества печати для печати листов. При печати нескольких листов в Microsoft Excel каждое изменение параметра качества печати заставляет Microsoft Excel создать новое задание печати с помощью этого параметра качества печати.
Примечание.
Это не происходит при печати одних и того же листа в более ранних версиях Microsoft Excel.
Обходной путь
Чтобы обойти это поведение, убедитесь, что все печатаемые листы используют одинаковые параметры качества печати. Это можно сделать вручную или с помощью макроса Visual Basic, чтобы изменить качество печати.
Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Данное положение включает, но не ограничивается этим, подразумеваемые гарантии товарной пригодности или соответствия отдельной задаче. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Инженеры службы поддержки Майкрософт могут помочь объяснить функциональность конкретной процедуры, но они не будут изменять эти примеры, чтобы предоставить дополнительные функциональные возможности или создать процедуры в соответствии с вашими конкретными требованиями. Следующий макрос Visual Basic гарантирует, что все листы в книге используют одинаковые параметры качества печати:
Sub SetPrintQuality()
For Each xSheet In ActiveWorkbook.Sheets
xSheet.PageSetup.PrintQuality = 600
Next xSheet
End Sub
Этот макрос предполагает, что принтер может печатать со значением 600 точек на дюйм (точек на дюйм). Если принтер не может печатать с таким разрешением, измените значение в третьей строке макроса на соответствующее значение принтера (например, 150, 300, 600 или 1200).
После выполнения этого макроса все листы используют один и тот же параметр качества печати, и поведение больше не происходит.
Статус
Такое поведение является особенностью данного продукта.
Дополнительная информация
Следующие шаги демонстрируют поведение:
Создайте новую книгу, содержащую три листа, например Лист1, Лист2 и Лист3.
На каждом листе введите следующие значения:
Лист1:
A1: Лист1 — 300 точек на дюйм
Лист 2:
A1: Лист2 — 600 точек на дюйм
Лист 3:
A1: Лист3 — 300 точек на дюйм
Щелкните Лист1. В меню Файл выберите пункт Параметры страницы, а затем откройте вкладку Страница . В списке Качество печати щелкните "300 точек на дюйм" и нажмите кнопку ОК.
Повторите шаг 3 для листов Sheet2 и Sheet3, установив для параметра Качество печати значение "600 точек на дюйм" и "300 точек на дюйм" соответственно.
Обратите внимание, что на каждом листе качество печати отличается от качества листа, предшествующего ему.
Щелкните правой кнопкой мыши вкладку Листа1. В контекстном меню щелкните Выбрать все листы.
В меню Файл выберите Печать. В разделе Принтер диалогового окна Печать выберите поле Печать в файл проверка. Нажмите кнопку ОК.
Может произойти следующее поведение:
- Если используется драйвер принтера, подключенный к порту FILE:, диалоговое окно Печать в файл появляется три раза.
- Если вы используете драйвер принтера, подключенный к LPT1:, LPT2:, или любому другому порту, подключенном к принтеру, диалоговое окно Печать в файл отображается только один раз для Лист1. Другие листы печатаются на принтере.
- Если для печати листов используется макрос Visual Basic, диалоговое окно Печать в файл может отображаться несколько раз. Если вы используете метод SendKeys для отправки имени выходного файла в диалоговое окно Печать в файл, макрос может завершиться ошибкой, если диалоговое окно отображается несколько раз.
При изменении качества печати Листа 3 на 600 точек на дюйм создаются два задания печати: одно с 300 точек на дюйм (Лист1) и одно с 600 точек на дюйм (Лист2 и Лист3). При изменении качества печати Листа1 на 600 точек на дюйм создаются два задания печати: одно с разрешением 600 точек на дюйм (Лист1 и Лист2) и одно с разрешением 300 точек на дюйм (Лист3).
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по