.
Tuesday 22nd of May 2012    

Информация

Счетчики

Голосование

Лучшая марка телефона
 

Реклама

фильмы онлайн

фильмы онлайн


Область документа IRange, вставка и удаление текста
загрузка...

Интерфейс IRange предоставляет доступ к определенной области документа, в которую мы имеем право вставлять текст и редактировать его. Для того чтобы добраться до интерфейса Irange, обратитесь к одноименному свойству документа (см. табл. 25.6). Кроме того, свойством Range снабжен еще ряд объектов документа, например абзац и таблица.

В качестве области документа могут выступать один или несколько абзацев документа, предложение, слово в предложении, отдельный символ. Для определения диапазона необходимо указать его начало и окончание (обратите внимание, что параметры Start и End имеют тип Variant).

function Range(Start, End : Variant) : IRange;

ОМетод Range() применим только к объектам, описываемым интерфейсами IDocument, ICanvasShapes, IGroupShapes и IShapes.

В следующем примере открывается документ, выделяется область с 5-го по 40-й символ и изменяется размер шрифта для этой области:

var Doc, Range : OleVariant;

Doc:=Documents.Open('C:\test.doc'); Range:=Doc.Range(5,40); Range.Font.Size:=30;

Для выделения целых абзацев применяется немного другая конструкция:

Range:=Doc.Paragraphs.Item(1).Range;

В примере мы выделили первый абзац документа. Теперь включим в область три абзаца документа - с первого по третий:

Range:=Doc.Range(Doc.Parag raphs.Item(1).Range.Start, Doc.Paragraphs.Item(3). Range.End);

Для того чтобы узнать размеры описываемой интерфейсом IRange области, воспользуйтесь свойствами области Start и End:

property Start : Integer; property End : Integer;

Это соответственно индекс текстового символа начала и индекс символа окончания области. Содержащийся в области текст доступен из свойства:

property Text : string; Для того чтобы удалить все, что находится в области, вызовите метод:

procedure Delete;

Для вставки текста в область обратитесь к методам:

procedure InsertBefore(Text : string); procedure InsertAfter(Text : string);

Первый метод вставляет текст перед областью, второй - после области.

Doc:=Documents.ADD; Range:=Doc.Range; Range.InsertAfter('ABCDE'); Range.InsertBefore('abcde');

Ряд методов области предназначен для вставки нового абзаца в указанное место. Следующий метод заменяет указанную область пустым абзацем:

procedure InsertParagraph;

А следующие процедуры отвечают за вставку нового абзаца соответственно до и после области IRange:

procedure InsertParagraphBefore; procedure InsertParagraphAfter;

Для вставки целого текстового файла воспользуйтесь методом:

function InsertFile(FileName : string; [ConfirmConversions,

Link : Boolean]) : IRange;

Здесь FileName - имя вставляемого файла; это обязательный аргумент, остальные аргументы необязательны. Параметр ConfirmConversions, установленный в false, отказывается от подтверждения о преобразовании файла при открытии. Параметр Link определяет, внедрять документ (false) в файл или просто установить с ним связь (true). Минимальный синтаксис требует передачи одного параметра - имени файла.

Doc:=Word.Documents.Add;

Doc.Range.InsertFile(Filename:='c:\Test.txt', ConfirmConversions:=false);

При необходимости разорвать страницу, колонку или раздел используйте метод:

procedure InsertBreak(Type : integer);

Здесь Type - константа wdBreakType, которая может принимать следующие значения: для вставки новой страницы - wdPageBreak (значение 7); начало нового раздела со следующей страницы - wdSectionBreakNextPage (значение 2); разрыв колонки - wdColumnBreak (значение 8).


загрузка...
 

Самое популярное:

bottom

карта сайта