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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.11.2007, 15:30   #12  
c_makarov is offline
c_makarov
Участник
 
2 / 15 (1) ++
Регистрация: 14.03.2007
Это делается так:


X++:
static void oo_4(Args _args)
{

    COM OpenOffice;
    COM DeskTop;
    COM Document;
    COM MyStruct;
    str filepath;

    // аргумент для вызова методов через диспатч
    COMVariant varArg1 = new COMVariant();
    // аргумент для массива свойств
    COMVariant var = new COMVariant();

    // Это для того, чтобы вызывать диспатчевые методы
    // а конкретно - аксапта часто не умеет ставить значения пропертям
    // и приходится вот так.
    ComDispFunction Func;

    // аргумент для всяких методов
    COMVariant arg;

    // иногда нужен массив свойств
    Array arr = new Array(Types::Class);

    // Создание экземпляра OpenOffice.org
    OpenOffice = new Com("com.sun.star.ServiceManager");
    DeskTop = OpenOffice.CreateInstance("com.sun.star.frame.Desktop");


    // получаем объект, в котором хранится свойство (для передачи в функцию)
    MyStruct = OpenOffice.Bridge_GetStruct("com.sun.star.beans.PropertyValue");

    Func = new COMDispFunction(MyStruct, "Name",  COMDispContext::PropertyPut);
    varArg1.bStr("AsTemplate");
    Func.call(varArg1);

    Func = new COMDispFunction(MyStruct, "Value",  COMDispContext::PropertyPut);
    varArg1.boolean(true);
    Func.call(varArg1);

    var = COMVariant::createFromCOM(MyStruct);
    arr.value(1,var);
    
    // Создание документа

    // create and initialize a COMVariant object
    arg = COMVariant::createFromArray(arr);

       
    filepath = "file://///Axapta-aos/Шаблоны/Претензии.xlt";

    Document = DeskTop.LoadComponentFromURL(filepath, "_blank", 0, arg);


}
За это сообщение автора поблагодарили: NeveB (1), Lucky13 (2).
Теги
документация

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DeniZone: OpenOffice and Dynamics ax Blog bot DAX Blogs 0 12.12.2008 13:05
OpenOffice форматирование PT DAX: Программирование 8 13.12.2007 15:54
Axapta+OpenOffice mmm DAX: Программирование 3 20.02.2007 16:50
Какие порты мне необходимо открыть на циске для axapta, для тонкого клиента. Maksim13 DAX: Администрирование 6 06.03.2006 12:54
Как открыть готовый шаблон Excel в ActiveX Microsoft Office Spreadsheet 10.0? chi DAX: Программирование 0 16.11.2004 15:33

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

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

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