Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Работа с Word   Найти похожие ветки 

 
Piter ©   (2004-05-14 23:57) [0]

Никогда вот не работал из дельфи с вордом. Задача в том, чтобы на основе данных генерировать текст (это не проблема), а потом открыть Word и туда этот текст в новый документ вставить, где быстро про это можно почитать? Толковую бы документацию, желательно показательные примеры, чтобы сразу уяснить. Не профессионально, а так, по быстрому.


 
Иксик ©   (2004-05-15 10:02) [1]


var
 WordApp, WordDoc, Range: Variant;
begin
 WordApp:=CreateOleObject("Word.Application");
 WordApp.Visible := True;
 WordDoc:=WordApp.Documents.Add;
 Range:=WordDoc.Range;
 Range.Font.Size:=12;
 Range.Font.Name:="Times New Roman";
 Range.InsertAfter("Hi Piter");
end;


Например


 
Piter ©   (2004-05-15 13:23) [2]

Много вопросов:

Как делать разные стили? Например, если вывести текст, а потом поменять Range.Font.Color - то изменится цвет всего текста.
- Как вывести строчку одним цветом, а потом вывести другую строчку другим цветом?

- как выводить строчки текста, прижатые к правому краю, по центру?

- И самый главный вопрос... Текст документа достаточно сложный, чтобы его описать программно. Можно ли сделать такую фишку - напечатать в Word"е документ вручную и вставить некие ключевые символы. А уже потом из приложения открыть данный документ и вместо символов в документе вставить нужные фразы?


 
Piter ©   (2004-05-15 13:53) [3]

Piter (15.05.04 13:23) [2]
- как выводить строчки текста, прижатые к правому краю, по центру?


Сам понял: Range.ParagraphFormat.Alignment:=2;

Но вот только осталась проблема - если изменить параметры Range, то изменится весь текст выведенный "через него".

И самое главное - хотелось бы узнать ответ на:

"Можно ли сделать такую фишку - напечатать в Word"е документ вручную и вставить некие ключевые символы. А уже потом из приложения открыть данный документ и вместо символов в документе вставить нужные фразы?"


 
Иксик ©   (2004-05-15 14:12) [4]


> Но вот только осталась проблема - если изменить параметры
> Range, то изменится весь текст выведенный "через него".

Range(a,b) - от символа номер "a" до символа номер "b"


 
Иксик ©   (2004-05-15 14:23) [5]

Range(a,b).Font.Color:=clRed;

Range(a,b).Select;
Range(a,b).Cut;
Range(a,b).Copy;
Range(a,b).Paste;


 
Иксик ©   (2004-05-15 15:59) [6]


> "Можно ли сделать такую фишку - напечатать в Word"е документ
> вручную и вставить некие ключевые символы. А уже потом из
> приложения открыть данный документ и вместо символов в документе
> вставить нужные фразы?"

Range:=WordDoc.Range;
Range.find.execute("FindText", False, False, True, False, False, True, $00000001, False, "ReplaceText", $00000002);


 
Piter ©   (2004-05-17 22:46) [7]

Иксик, спасибо тебе


 
Иксик ©   (2004-05-18 10:48) [8]

Не за что :) Всегда рад!



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
14-1084881510
Liona
2004-05-18 15:58
2004.06.06
Ищу трудоголика.


14-1084472694
ИМХО
2004-05-13 22:24
2004.06.06
Куда подевалась Paula Abdul???


4-1082803252
com
2004-04-24 14:40
2004.06.06
Security Descriptor


1-1085577396
denis24
2004-05-26 17:16
2004.06.06
вытащить сумму из строки


1-1085335968
DIS
2004-05-23 22:12
2004.06.06
EoleSysError