Вниз
Скачать: 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.029 c
15-1138126379
cyborg
2006-01-24 21:12
2006.02.12
Актуальная тема


3-1134742042
ruslan_as
2005-12-16 17:07
2006.02.12
Как програмно зарегистрировать библиотеку (regsvr32 midas.dll)


2-1138129163
asd
2006-01-24 21:59
2006.02.12
Время создания файла


2-1138020251
Донской
2006-01-23 15:44
2006.02.12
access медленно работает?


1-1136819121
utter
2006-01-09 18:05
2006.02.12
Удаление файлов по маске




   Наверх