Принудительное использование Excel для печати нескольких листов за одно задание - PullRequest
3 голосов
/ 28 апреля 2011

В некоторых книгах Excel (2003), когда я пытаюсь напечатать несколько листов, Excel обрабатывает листы как отдельные задания на печать.Это приложение для автоматизации Excel, о котором я писал, заставляет Adobe PDF Printer останавливаться и запрашивать у пользователя второе имя файла.

Похоже, это может быть связано с назначенной областью печатикаждая страница, хотя очистка (или даже сброс) области печати не имеет значения.

Как я могу заставить Excel печатать все выбранные листы как одно задание на печать? (яс использованием виртуального принтера Adobe PDF)

За исключением того, как я могу определить перед печатью, когда Excel будет рассматривать одну или несколько выбранных вкладок как отдельное задание на печать?

Iавтоматизирую Excel 2003 с C3 / .net3.5 и печатаю с помощью Adobe PDF Printer, установленного Acrobat 7 Pro.

Ответы [ 2 ]

3 голосов
/ 10 мая 2012

Использование PrintOutEx () :

foreach (Excel.Worksheet ws in wb.Worksheets)
{
    Excel.PageSetup ps = (Excel.PageSetup)ws.PageSetup;
    ws.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape;
    ws.PageSetup.Order = Excel.XlOrder.xlDownThenOver;
    ws.PageSetup.FitToPagesWide = 1;
    ws.PageSetup.FitToPagesTall = 50;
    ws.PageSetup.Zoom = false;  
}
wb.Worksheets.PrintOutEx();  
1 голос
/ 05 сентября 2012

Согласно поддержке Microsoft, Excel может принять решение о спулинге нескольких заданий на печать для одного запроса на печать.Одно задание на печать Excel охватывает одну или несколько областей печати.Если вы перебираете области печати и запускаете печать каждой области печати, вы получаете некоторый контроль над выводом.

Как только все задания завершены, вы можете приступить к связыванию всех частей в один PDF-файл.файл.Некоторое время назад я использовал этот подход (с драйвером Win2PDF) для преобразования Excel в PDF на месте.

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