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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.11.2004, 16:36   #1  
vesna is offline
vesna
Участник
 
39 / 10 (1) +
Регистрация: 04.11.2004
Адрес: Москва
Lightbulb Функциональные возможности при выгрузки в Excel
COM ExApp,Wbs,Wb,Wss,Ws,Rng;
;
{
ExApp = new COM("Excel.Application");
Wbs = ExApp.Workbooks();
Wb = Wbs.Add();
Wss = Wb.WorkSheets();
Ws = Wss.Add();
range = ws.range(this.numToNameCell(4, 13));
range.value2("КОД");
}

Подскажите пожалуйста, как, работая с выгрузкой в Excel
1. можно определить начало печати с новой страницы
2. задать параметры страницы, как то ее поля (вертик. и гориз.)
3. сделать страницу альбомной
4. и нарисовать в строке подчеркивание, то есть не рисовать все границы ячейки
borders = range.borders();
borders.color(0);
borders.weight(2);
, а нарисовать только одну из них.

Многие другие вещи я нашла по VB, но не всё так просто и однозначно переносится в код Axapta. Help me please кодом. В других вещах, если будут вопросы, постараюсь помочь всем.
Старый 04.11.2004, 17:34   #2  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Ловите джобик. Здесь все, что Вам нужно

PHP код:
static void Job7(Args _args)
{
    
COM documentworkSheetworkSheetspageSetup;
    
COM exApplcomRangeborderborders;
    
COMExcelDocument_RU ex = new COMExcelDocument_RU();
    ;
    
ex.open("c:\\1.xls");
    
ex.visible(true);

    
document ex.getComDocument();
    
workSheets document.worksheets();
    
exAppl document.Application();

    
//Работаем с 1-м листом
    
workSheet workSheets.item(1);

    
//Начало печати с новой страницы - перед ячейкой A10
    
ex.insertPageBreak("A10");

    
//Форматирование страницы
    
pageSetup workSheet.PageSetup();
    
//Отступ сверху - 5 см
    
pageSetup.TopMargin(exAppl.CentimetersToPoints(5));
    
//Отступ снизу - 5 см
    
pageSetup.BottomMargin(exAppl.CentimetersToPoints(5));
    
//Альбомная страница (1 - если книжная)
    
pageSetup.Orientation(2);

    
//Подчеркиваем ячейку
    
comRange exAppl.Range("C5");
    
//Нижняя граница ячейки
    
borders comRange.borders();
    
border borders.item(9);
    
border.lineStyle(1); //xlContinuous
    
border.weight(2); //xlThin
    
border.colorIndex(-4105); //xlAutomatic

За это сообщение автора поблагодарили: wojzeh (1).
Старый 04.11.2004, 17:39   #3  
vesna is offline
vesna
Участник
 
39 / 10 (1) +
Регистрация: 04.11.2004
Адрес: Москва
Огромное-огромное спасибо!!! Я и не ждала такой оперативности!
Старый 04.11.2004, 17:48   #4  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Записывайте макросы в Экселе и пользуйтесь обозревателем объектов (Object Browser). Он активируется из кода VBA при нажатии клавиши F2
Старый 15.11.2004, 14:07   #5  
vesna is offline
vesna
Участник
 
39 / 10 (1) +
Регистрация: 04.11.2004
Адрес: Москва
COM ExApp,Wbs,Wb,Wss,Ws,Rng;
;
{
ExApp = new COM("Excel.Application");
Wbs = ExApp.Workbooks();
Wb = Wbs.Add();
Wss = Wb.WorkSheets();
Ws = Wss.Add();
range = ws.range(this.numToNameCell(4, 13));
range.value2("КОД");
}


Я пишу, следуя определения своих переменный следующие вещи по аналогии с предложенным:

ExApp.insertPageBreak("A10");
pageSetup = wss.PageSetup();

И Axapta говорит, что COM-объект не имеет данных методов.
Что я не так делаю?
Help me..
Старый 15.11.2004, 14:55   #6  
bucken is offline
bucken
Участник
Аватар для bucken
 
259 / 12 (1) ++
Регистрация: 04.09.2003
Адрес: Москва
Cкорее всего вы вызываете метод не у того COM объекта.
вот у вас:
ExApp = new COM("Excel.Application");
...
ExApp.insertPageBreak("A10");

А это метод скорее всего принадлежит объету
workSheet.

А вообще, что бы знать какие методы принадлежат даному объету пользуйтесь, как сказал Ace Of Database, Object Browser в Excell.
__________________
Уточните значение слов и вы избавите человечество от половины его заблуждений. (Рене Декарт) / Axapta 2.5
Старый 15.11.2004, 16:47   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
А почему Вы не используете COMExcelDocument_RU? У COMExcelDocument_RU метод insertPageBreak() работает правильно.
Теги
excel

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Функциональные возможности кадры и зарплата YuryP DAX: Функционал 2 22.08.2003 10:39
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:49.