|
![]() |
#1 |
Ищущий знания...
|
про дуплексную печать...
все на самом деле просто, изначально в windows в настройках принтера нужно поставить галку "Двухсторонняя печать". Затем нужно отправлять на печать всю книгу целиком, одним заданием. Если будете выводить на печать перебирая листы, дуплексной печати не получиться, потому что каждый лист будет уходить отдельным заданием, а принтер каждое задание начинает с нового листа. по поводу реализации вывода сразу на печать. делаете галку в отчете "На принтер". Если галка стоит то делаете следующее (у нас написана своя обертка для вывода в Excel, но думаю вы поймете что к чему): 1. печатаем книгу: X++: excel.activeWorkBook().PrintOut(1, // From: OleVariant; 32767, // To_: OleVariant; cntCopies ? cntCopies : 1, //Copies: OleVariant; false, // Preview: OleVariant; activePrinter, // ActivePrinter: OleVariant; false, // PrintToFile: OleVariant; true); //Collate: OleVariant; галка печатать "всю книгу" X++: excel.ActiveWindow().Close(false); // save changes X++: excel.finalize();
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем Последний раз редактировалось lev; 08.09.2010 в 13:12. Причина: добавил вариант закрытия экселя |
|
|
За это сообщение автора поблагодарили: pitersky (1), kornix (1). |
![]() |
#2 |
северный Будда
|
Цитата:
Сообщение от lev
![]() по поводу реализации вывода сразу на печать...
X++: excel.activeWorkBook().PrintOut(1, // From: OleVariant; 32767, // To_: OleVariant; cntCopies ? cntCopies : 1, //Copies: OleVariant; false, // Preview: OleVariant; activePrinter, // ActivePrinter: OleVariant; false, // PrintToFile: OleVariant; true); //Collate: OleVariant; галка печатать "всю книгу"
__________________
С уважением, Вячеслав |
|
![]() |
#3 |
MCP
|
Цитата:
т.е. сначала от ComExcelDocument_RU можно получить getComDocument(), потом то что получили можно сохранить в COM, и от этой COM-переменной вызвать метод Application(), как написано в статье из ссылки: X++: excel = new ComExcelDocument_RU(); excel.newFile(fileName,true); doc = excel.getComDocument(); app = doc.Application(); Workbook = app.ActiveWorkbook();
__________________
AXIOMA Последний раз редактировалось kornix; 08.09.2010 в 15:01. Причина: добавил пример AndyD |
|
|
За это сообщение автора поблагодарили: Ganna (1). |
![]() |
#4 |
Moderator
|
Цитата:
Сообщение от kornix
![]() activeWorkBook можно получить так
т.е. сначала от ComExcelDocument_RU можно получить getComDocument(), потом то что получили можно сохранить в COM, и от этой COM-переменной вызвать метод Application(), как написано в статье из ссылки: X++: excel = new ComExcelDocument_RU(); excel.newFile(fileName,true); doc = excel.getComDocument(); app = doc.Application(); Workbook = app.ActiveWorkbook(); |
|
![]() |
#5 |
Ищущий знания...
|
Цитата:
X++: excel = new COM("Excel.Application"); ![]() ![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#6 |
Участник
|
Цитата:
![]()
__________________
С уважением, Александр. |
|