Для создания абзацев в документе можно использовать коллекцию Paragraphs объекта Document, представляющую набор абзацев данного документа. Добавить новый абзац можно с помощью метода Add этой коллекции:
App.ActiveDocument.Paragraphs.Add;
Для вставки собственно текста в документ, тем не менее, применяется не объект Paragraph, а объект Range, представляющий любую непрерывную часть документа (в том числе и вновь созданный абзац). Этот объект может быть создан разными способами. Например, можно указать начальный и конечный символы диапазона (если таковые имеются в документе):
var Rng : Variant; ... Rng := App.ActiveDocument.Range(2,4); //со 2-го по 4-й символы
или указать номер абзаца (например, только что созданного):
Rng:= App.ActiveDocument.Paragraphs.Item(1).Range;
или указать несколько абзацев, следующих подряд:
Rng := App.ActiveDocument.Range _ (App.ActiveDocument.Paragraphs.Item(3).Range.Start,_ App.ActiveDocument.Paragraphs.Item(5).Range.End)
Вставить текст можно с помощью методов объекта Range InsertBefore (перед диапазоном) или InsertAfter (после диапазона), например:
Rng.InsertAfter('Это вставляемый текст');
Помимо объекта Range текст можно вставлять с помощью объекта Selection, являющийся свойством объекта Word.Application и представляющий собой выделенную часть документа (этот объект создается, если пользователь выделяет часть документа с помощью мыши, и может быть также создан с помощью приложения-контроллера). Сам объект Selection можно создать, применив метод Select к объекту Range, например:
var Sel : Variant; ... App.ActiveDocument.Paragraphs.Item(3).Range.Select;
В приведенном выше примере в текущем документе выделяется третий абзац.
Если мы хотим вставить строку текста в документ либо вместо выделенного фрагмента текста, либо перед ним, это можно сделать с помощью следующего фрагмента кода:
var Sel : Variant; ... Sel := App.Selection; Sel.TypeText('Это текст, которым мы заменим _ выделенный фрагмент');