Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Отчет в MS Word [D7, WinXP]


elfebet ©   (2006-01-16 12:30:00) 

Прочитал на этом сайте тему про "Отчет в MS Word", ни один вариант не подошел (не работает). Задача состоит в том, чтобы текст подставлялся в определённые места документа Word через закладки.
Пишу такой код:

var W: Variant;
...
W:=CreateOleObject('Word.Application');
W.WordBasic.FileOpen('C:\document.doc');
W.WordBasic.StartOfDocument;
W.ActiveDocument.Bookmarks('num').Select;
W.WordBasic.Insert('new text');

Выдает ошибку в строке:
W.ActiveDocument.Bookmarks('num').Select;
пробовал:
W.EditGoto('num');
и
W.EditBookmark('num');
не работает.
Погмогите плиз, очень надо.


elfebet   (2006-01-16 14:45:00) [1]

сэнкс


evvcom   (2006-01-16 14:36:00) [2]


> W.WordBasic.FileOpen('C:\document.doc');

По-моему, обычно используют
W.Documents.Open
InsertAfter applies to Range Object and Selection Object. Так что вполне нормальный способ решения.
P.S.

> var W: Variant;
>     R: OleVariant;

А чего это ты их разными типами сделал? Используй везде OleVariant;


elfebet   (2006-01-16 14:20:00) [3]

Я нашел способ решения задачи. Честно горовя этот способ мне кажется неправильным, но работает.

var W: Variant;
    R: OleVariant;
...
W:=CreateOleObject('Word.Application');
W.WordBasic.FileOpen('C:\document.doc');
W.Visible:=true;
R:= W.ActiveDocument.Bookmarks.Item('num').Range;
R.InsertAfter('new text');


elfebet   (2006-01-16 13:56:00) [4]

Такая закладка есть. Выдает ошибку "Bookmarks не является методом"


evvcom   (2006-01-16 13:50:00) [5]


> Выдает ошибку в строке:
> W.ActiveDocument.Bookmarks('num').Select;

А у тебя есть в Ворде такая закладка? Или ты думаешь, что Билл Гейтс во все новые документы такую закладку внедряет?


Kot_   (2006-01-16 13:42:00) [6]

Попробуй не через закладки, а заменением определенных кодов.
Например @дата@ мненяем на нужную дату.


asafr   (2006-01-16 13:36:00) [7]

текст ошибки, пжлст....


Наверх

Титульная страница Поиск, карта сайта Написать письмо