Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. раб. 4.doc
Скачиваний:
15
Добавлен:
06.05.2017
Размер:
92.67 Кб
Скачать

4 Вставка текста в документ и форматирование текста

Для создания абзацев в документе можно использовать коллекцию Paragraphs объекта Document, представляющую собой набор абзацев данного документа. Добавить новый абзац можно с помощью метода Add этой коллекции:

Арр.ActiveDocument.Paragraphs.Add;

Для вставки собственно текста в документ применяется не объект Paragraph, а объект Range, представляющий любую непрерывную часть документа (в том числе и вновь созданный абзац). Этот объект может быть создан разными способами. Например, можно указать начальный и конечный символы диапазона (если таковые имеются в документе):

var

Rng : Variant;

Rng := App.ActiveDocument.Range(2, 4);

// со 2-го по 4-й символы

Можно также указать номер абзаца (например, только что созданного):

Rng := Арр.ActiveDocument.Paragraphs.Item(1).Range;

Кроме того, можно указать несколько последовательных абзацев:

Rng := Арр.ActiveDocument.Range

(Арр.ActiveDocument.Paragraphs.Item(3).Range.Start,

App.ActiveDocument.Paragraphs.Item(5).Range.End)

Вставить текст можно с помощью методов InsertBefore (перед диапазоном) или InsertAfter (после диапазона) объекта Range, например:

Rng.InsertAfter('Это вставляемый текст');

Помимо объекта Range текст можно вставлять с помощью объекта Selection, являющегося свойством объекта Word.Application и представляющего собой выделенную часть документа (этот объект создается, если пользователь выделяет часть документа мышью, и может быть создан также с помощью приложения-контроллера). Сам объект Selection можно создать, применив метод Select к объекту Range, например:

var

Sel : Variant;

Арр.ActiveDocument.Paragraphs.Item(3).Range.Select;

В приведенном выше примере в текущем документе выделяется третий абзац.

Если необходимо вставить строку текста в документ либо вместо выделенного фрагмента текста, либо перед ним, это можно сделать с помощью следующего фрагмента кода:

var

Sel: Variant;

Sel := Арр.Selection;

Sel.TypeText('Этo текст, которым мы заменим выделенный фрагмент');

Отметим, что если свойство Options.ReplaceSelection объекта Word.Application равно True, выделенный текст будет заменен новым (этот режим действует по умолчанию); если же нужно, чтобы текст был вставлен перед выделенным фрагментом, а не вместо него, следует установить это свойство равным False:

Арр.Options.ReplaceSelection := False;

Символ конца абзаца при использовании объекта Selection может быть вставлен с помощью следующего фрагмента кода:

Sel.TypeParagraph;

К объекту Selection, так же как и к объекту Range, можно применить методы InsertBefore и InsertAfter. В этом случае, в отличие от предыдущего, вставляемый текст станет частью выделенного фрагмента текста.

С помощью объекта Selection, используя его свойство Font и свойства объекта Font, такие как Bold, Italic, Size и другие, можно отформатировать текст. Например, таким образом можно вставить строку, выделенную полужирным шрифтом:

Sel.Font.Bold := True;

Sel.TypeText('Этo текст, который выделен полужирным шрифтом.');

Sel.Font.Bold := False;

Sel.TypeParagraph;

Для наложения на вставляемый текст определенного заранее стиля можно использовать свойство Style объекта Selection, например:

Sel.Style := 'Heading 1;

Sel.TypeText('Это текст, который станет заголовком');

Sel.TypeParagraph;

Соседние файлы в предмете Кросс-платформенное программирование