Вниз
Скачать: 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 вся ветка

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



Память: 0.47 MB
Время: 0.02 c
6-1082459141
SergeySS
2004-04-20 15:05
2004.06.06
помогите с WebBrowser


3-1084430868
Курдль
2004-05-13 10:47
2004.06.06
Фундаментальный вопрос о правильном использовании транзакций.


1-1085455823
пинг
2004-05-25 07:30
2004.06.06
Сжатие изображений при помощи нейронных сетей


1-1085584624
новичок_из_сыктывкара
2004-05-26 19:17
2004.06.06
Random


14-1084876744
Игорь Шевченко
2004-05-18 14:39
2004.06.06
Про SQL-Navigator и ODAC еще раз




   Наверх