Главная страница
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.023 c
3-1084455018
Smalik
2004-05-13 17:30
2004.06.06
Числовой тип поля в Access


1-1084803085
SMART_n
2004-05-17 18:11
2004.06.06
Обмен данными между локальными приложениями


1-1085319251
Umka
2004-05-23 17:34
2004.06.06
Midas server & client


9-1061216251
ProvAd
2003-08-18 18:17
2004.06.06
Скриптовый движок


3-1084514809
lightix
2004-05-14 10:06
2004.06.06
Компоненты прямого доступа к Oracle 8 (9)