Курсовая работа: Delphi: работа с MS WORD

Предположим, у нас уже открыт файл. Вопросы открытия и сохранения документов уже были в других статьях, так что подробно на этом останавливаться не будем. Просто по ходу дела будет приведено то, чего раньше не встречалось - выход из документа без сохранения изменений. Как-то забыл, извините:)

Текст

Сначала о самом простом - добавлении в документ Word нужной строки текста. Поместим на форму компоненты WordDocument, WordApplicationи WordParagraphFormat с палитры Servers. Нас интересуют в первую очередь свойство Range компонента WordDocument и свойство Selection компонента WordApplication. Классики утверждают, что они являются ссылкой на объекты Range и Selection. Range представляет из себя, проще говоря, кусок текста, это может быть как весь текст документа, так и любая его часть. Его пределы задаются двумя (или меньше) параметрами типа OleVariant.

Например:

var range1, range2, range3, a, b : OleVariant;

...

Возможно вы искали - Реферат: Mathcad: от графика к формуле, от расчета на компьютере к расчету в Интернет

range1:=WordDocument1.Range;

a:=5;

b:=15;

range2:=WordDocument1.Range(a,b);

range3:=WordDocument1.Range(a);

Похожий материал - Реферат: История математического моделирования и технологии вычислительного эксперимента

Первый наш объект включает в себя весь текст документа, у второго мы ограничили пределы 5-м и 15-м символами, третий представляет из себя весь последующий текст документа, начиная с 5-го символа. Объект имеет несколько полезных методов, например, с его помощью можем добавить текст в документ:

range2.InsertAfter('MS Word');

Это мы вставили текст после выделенного Range. Точно также можем вставить текст и перед ним, для этого служит метод InsertBefore(). Текст, заключенный в объекте Range, можем получить так:

WordDocument1.Range(a,b).Text;

Кроме того, с помощью Range можем изменить шрифт в пределах объекта. Пример:

Очень интересно - Реферат: История применения универсальных цифровых вычислительных машин в ядерной и космической программах СССР

a:=5;

b:=15;

WordDocument1.Range(a,b).Font.Bold:=1;

WordDocument1.Range(a,b).Font.Size:=14;

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

Вам будет интересно - Доклад: История первых процессоров и крупнейшие маркетинговые ошибки

Если хотим отменить выделение жирным шрифтом, присваиваем 0. Аналогично можно сделать шрифт курсивом, подчеркнутым - наберите WordDocument1.Range.Font., и среда сама подскажет, какие могут быть варианты. Методы Select, Cut, Copy и Paste работают как в обычном тексте. С помощью Paste можем на место выбранного Range вставить не только строки, но и рисунок, находящийся в буфере обмена.

WordDocument1.Range(a,b).Select;

WordDocument1.Range(a,b).Cut;

WordDocument1.Range(a,b).Copy;

WordDocument1.Range(a,b).Paste;

Похожий материал - Реферат: Модель объективной закономерности извлечения информации из окружающей среды

С помощью Range можем найти в документе нужную строку. Пусть в тексте содержится слово "picture". Например, нам на его место надо будет вставить рисунок.

vara, b, vstart, vend: OleVariant;

j, ilengy: Integer;

...