Word Ole
Код:
RangePtr rng = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
Например, для WordApplication так:
Код:
HeaderFooterPtr Foot = WordApp->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary);
Цитата:
Originally posted by richel
Как будет выглядеть строка
без использования TWordApplication? Через OLE сервер.
Например, для WordApplication так:
Как будет выглядеть строка
Код:
RangePtr rng = ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range
Например, для WordApplication так:
Код:
HeaderFooterPtr Foot = WordApp->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary);
Это вопрос или утверждение? :)
Для оле тебе необходимо получить для начала указатель на объект с которым ты будешь работать а затем вызывать его методы.
Цитата:
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)
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));
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 сервер. По нему мало документации.
Этот вопрос я уже решила.:D