AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.09.2010, 14:08   #1  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,488 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от 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; галка печатать "всю книгу"
Наверное, я чего-то не знаю. Но никакого activeWorkBook() на excel я не нашёл. Может это вы дописывали сами?
__________________
С уважением,
Вячеслав
Старый 08.09.2010, 14:46   #2  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от pitersky Посмотреть сообщение
Наверное, я чего-то не знаю. Но никакого activeWorkBook() на excel я не нашёл. Может это вы дописывали сами?
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();
__________________
AXIOMA

Последний раз редактировалось kornix; 08.09.2010 в 15:01. Причина: добавил пример AndyD
За это сообщение автора поблагодарили: Ganna (1).
Старый 10.09.2010, 16:45   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от 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();
В данном конкретном случае две последние строки лишние, т.к. переменная doc в 3-й строке уже содержит ссылку на worbook, который active. Т.е. и doc, и Workbook после отработки этих 5 строк ссылаются на один и тот же объект.
Старый 08.09.2010, 14:58   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от pitersky Посмотреть сообщение
Наверное, я чего-то не знаю. Но никакого activeWorkBook() на excel я не нашёл. Может это вы дописывали сами?
excel это ком:
X++:
excel = new COM("Excel.Application");
а уже у com объекта есть необходимая функция activeWorkBook(). После точки просто напишите это и все будет ок аксапта откомпилируется, и будет вам счастье.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.09.2010, 16:13   #5  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Цитата:
Сообщение от pitersky Посмотреть сообщение
Наверное, я чего-то не знаю. Но никакого activeWorkBook() на excel я не нашёл. Может это вы дописывали сами?
Вы не нашли activeWorkBook(), потому что доступ к методам классов COM, ComExcelDocument_RU, ComWordDocument_RU происходит по принципу позднего свзвания, т.е. во время исполнения кода программы, в то время как при работе с другими классами срабатывает технология IntelliSense, благодаря которой при указании точки после экземпляра класса всплывает список доступных методов. Поэтому следуйте совету автора предыдущего сообщения
__________________
С уважением, Александр.
Теги
дуплексный режим, печать

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Параметры ГК по расчету курсовой разницы Ax 4.0 nmariya DAX: Функционал 2 10.12.2007 11:34
Параметры обработки НДС в книге Покупок sev DAX: Функционал 1 11.08.2005 20:41
Query, параметры введенные пользователем kostas DAX: Программирование 8 26.05.2005 16:43
Система не видит новые параметры методов при работе Anais DAX: Программирование 28 20.01.2005 22:38
LookUp форма и параметры SnowMan DAX: Программирование 7 18.09.2003 16:04

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:53.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.