Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Microsoft Office Automation 
:(
    Опции темы
v00d00
Дата 16.11.2009, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.12.2005

Репутация: нет
Всего: нет



Пытаюсь создать автоматизацию для MS Word 2003 в Visual Studio 2008...
Плохое начало для понедельника...


В нете туча инфы для 6 вижуал студии, но они банально не подходят для 2008, нет некоторых мастеров и шоткеи не те.
Пожалуйста, поделитесь ссылками на актуальные способы для работы с офисом из С++(Unmanaged) так чтобы это не казалось адом.

PM MAIL   Вверх
v00d00
Дата 17.11.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.12.2005

Репутация: нет
Всего: нет



Удалось добиться следующего:

Код

        pWrd.CreateInstance(L"Word.Application");

        pWrd->Visible = VARIANT_TRUE;

        _DocumentPtr wdoc = pWrd->Documents->Open(&_variant_t("..."));

        for (long i=1;i<=wdoc->InlineShapes->Count;i++)
        {
            InlineShapePtr shape = wdoc->InlineShapes->Item(i);
            BSTR bstrStatus;
            shape->GetOLEFormat()->get_ProgID(&bstrStatus);
        }


Файл открывается. Запускается цикл по инлайн шейпам.
Когда пытаюсь прочесть ProgID вылетает эксепшн "Неправильный указатель". 

В чем бок?

Добавлено через 3 минуты и 23 секунды
Метод для получения строки из интерфейса InlineShape

Код

      virtual HRESULT __stdcall get_ProgID (
        /*[out,retval]*/ BSTR * prop ) = 0;


Добавлено через 4 минуты и 29 секунд
Т.е. определение метода означает что он не реализован?

Добавлено через 12 минут и 57 секунд
Еще одна странность

IntelliSense откуда то хватает определение поля progID 

Но компилятор матерится на такую строчку

Код

BSTR data = format->progID

PM MAIL   Вверх
v00d00
Дата 17.11.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 28.12.2005

Репутация: нет
Всего: нет



Код

BSTR data = format->ProgID


Проворонил описание свойства.

Компилируется, но выдает ту же ошибку что и при прямом вызове Get_ProgID
Код


E_POINTER

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: COM/DCOM/ActiveX/ATL/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.