Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: 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 вся ветка

Текущий архив: 2006.02.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.049 c
9-1125221933
ArtemESC
2005-08-28 13:38
2006.02.12
Задний фон в OpenGL


2-1138285831
Daria
2006-01-26 17:30
2006.02.12
закрыть файл без сохранения


1-1137225938
NotBeginer
2006-01-14 11:05
2006.02.12
Не могу понять причину


2-1137933004
XeON
2006-01-22 15:30
2006.02.12
Побайтовое сравнение файлов


1-1137068572
oleg__
2006-01-12 15:22
2006.02.12
Формат даты