Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Word Ole

1.2K
18 ноября 2005 года
richel
142 / / 20.01.2005
Как будет выглядеть строка
 
Код:
RangePtr rng = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
без использования TWordApplication? Через OLE сервер.
Например, для WordApplication так:
 
Код:
HeaderFooterPtr Foot = WordApp->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary);
1
19 ноября 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by richel
Как будет выглядеть строка
 
Код:
RangePtr rng = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
без использования TWordApplication? Через OLE сервер.
Например, для WordApplication так:
 
Код:
HeaderFooterPtr Foot = WordApp->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary);


Это вопрос или утверждение? :)
Для оле тебе необходимо получить для начала указатель на объект с которым ты будешь работать а затем вызывать его методы.

1.2K
21 ноября 2005 года
richel
142 / / 20.01.2005
Цитата:
Originally posted by kot_
Это вопрос или утверждение? :)


Вопрос.
Вопрос такой. Есть код на VBA, работающий в вордовском документе.

 
Код:
Dim rng As Range
    Dim tbl As Table

    Set rng = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
    Set tbl = rng.Tables(1)

    MsgBox tbl.Cell(1, 6)

Я пытаюсь перевести код на язык Си. Вот что получилось. Естественно, что сначала создаю
 
Код:
Wapp = CreateOleObject("Word.Application");
и запускаю документ.
 
Код:
Variant Wapp, Wdocs, Wdoc, Range, Table, Cell;
Variant ft=  "wdHeaderFooterPrimary";

Wdocs = Wapp.OlePropertyGet("Documents");
Wdoc=Wapp.OlePropertyGet("ActiveDocument");
Range =  Wapp.OlePropertyGet("Sections").OleFunction("Item",1).
         OlePropertyGet("Footers", ft).OlePropertyGet("Range");
Table = Range.OlePropertyGet("Tables").OleFunction("Item",1);
ShowMessage(Table.OleFunction("Cell", 1, 6));

Код компелируется без ошибок, но при запуске .exe в итоге выдает "Неизвестное имя" и курсор устанавливается на строке
 
Код:
Range =  Wapp.OlePropertyGet("Sections").OleFunction("Item",1).

Что-то я делаю не верно, а что - не пойму.
Ранее я работала с компонентом TWordApplication, а сейчас хочу освоить OLE сервер. По нему мало документации.
1.2K
21 ноября 2005 года
richel
142 / / 20.01.2005
Этот вопрос я уже решила.:D
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог