Вниз
Скачать: CL | DM;

Отчет в MS Word   Найти похожие ветки 

← →
elfebet ©   (2006-01-16 12:30) [0]

Прочитал на этом сайте тему про "Отчет в 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");
не работает.
Погмогите плиз, очень надо.


← →
asafr ©   (2006-01-16 13:36) [1]

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


← →
Kot_   (2006-01-16 13:42) [2]

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


← →
evvcom ©   (2006-01-16 13:50) [3]


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

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


← →
elfebet ©   (2006-01-16 13:56) [4]

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


← →
elfebet ©   (2006-01-16 14:20) [5]

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

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");


← →
evvcom ©   (2006-01-16 14:36) [6]


> 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:45) [7]

сэнкс



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
3-1134726170
Dmitriy G.
2005-12-16 12:42
2006.02.12
Получение имение поля из запроса


5-1124352966
Stanislav
2005-08-18 12:16
2006.02.12
В Наследнике TScrollBox периписать процедуру скроллинга


2-1138036171
Norm Iridium
2006-01-23 20:09
2006.02.12
Поиск и изменение текста в RichEdit


1-1137420572
oleg__
2006-01-16 17:09
2006.02.12
Стандартное PopupMenu в TRxRichEdit


2-1138094394
V0va
2006-01-24 12:19
2006.02.12
удаление строк из списка




   Наверх