Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MVBA_2000.DOC
Скачиваний:
13
Добавлен:
08.11.2019
Размер:
599.55 Кб
Скачать

3.2.4. Классы, задающие структуризацию текста документа.

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

Charactersколлекция символов текста документа;

Wordsколлекция слов;

Sentencesколлекция предложений;

Paragraphsколлекция абзацев;

Sections - коллекция разделов или секций документа.

Коллекции Characters, Words, Sentences могут быть получены через свойства не только объекта Document, но и объектов Selection и Range.

Все эти коллекции имеют свойства:

Application – свойство возвращает корневой объект Application;

Count – свойство возвращает количество элементов в коллекции;

First – свойство возвращает объект, являющийся первым элементом коллекции;

Last - свойство возвращает объект, являющийся последним элементом Parent – свойство возвращает родительский для коллекции объект.

Коллекции Characters, Words, Sentences имеют единственный метод Item(Index), который возвращает для всех коллекций объект Range, представляющий собой последовательность элементов текста. Работа с этой последовательностью ведется с помощью методов объекта Range.

Коллекция Paragraphs (коллекция абзацев) может быть получена через свойство Paragraphs объектов класса Document, Selection и Range.

Абзац представляет собой структурно выделенную единицу текста, характеризующуюся определенными параметрами: отступами, межстрочным интервалом, стилем и т.д.

Коллекция Paragraphs имеет все вышеперечисленные для данной группы коллекций свойства и множество свойств, значения которых определяют формат абзаца.

Формат абзаца может быть определен и с помощью методов. Рассмотрим некоторые методы коллекции Paragraphs:

Item – определяет элемент коллекции;

Add – добавление нового пустого абзаца (параметр метода указывает точку вставки, задается объектом Range);

InsertParagraph, InsertParagraphAfter, InsertParagraphBefore – осуществляет вставку пустого абзаца вместо текста или после, или перед текстом, задаваемым объектом Selection или Range;

Reset – удаляет форматирование, сделанное вручную, применяя к абзацу формат, заданный стилем абзаца;

Indent, Outdent – увеличивают, уменьшают отступ абзаца от края листа;

TabHangingIndent(Count),TabIndent(Count) – увеличивают (Count>0), уменьшают (Count <0) выступ или отступ абзаца от края листа на заданное количество позиций;

Space1, Space2, Space15 – устанавливают межстрочный интервал (одинарный, двойной, полуторный);

OutlineDemote, OutlinePromote – понижают, повышают уровень заголовка в интервале Заголовок1 – Заголовок8.

Коллекция Sections (коллекция разделов) может быть получена через свойство Sections объектов класса Document, Selection и Range.

С понятием раздел в Word связывается не только последовательность текста, но и стиль форматирования, установки, принятые для его страниц, верхних и нижних колонтитулов и т.д.

Коллекция Sections, кроме вышеперечисленных свойств: Application, Count, First, Last, Parent, имеет свойство PageSetup.

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

В коллекции Sections всего два метода: Item и Add.

Метод Add добавляет новый раздел в документ:

Add ([Range], [Start])

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

При работе с коллекциями (последовательностью объектов) часто приходится организовывать цикл с целью получения доступа к каждому элементу . VBA позволяет сделать это двумя способами.

  1. С использованием цикла For…Next:

With <объект>

For i=1 To .Count

… ‘ работа с i-ым элементом коллекции

Next i

End With

Этот способ использован в примере 3.7.

  1. С использованием конструкции For Each…Next:

For Each <элемент> In <коллекция>

<операторы>

[Exit For]

[<операторы>]

Next [<элемент>]

Где <элемент> - объект (переменная), являющийся объектом коллекции или совпадающим по классу с элементами коллекции, или имеющий тип Variant. Данная переменная на каждом шаге цикла становиться очередным объектом коллекции. Цикл заканчивается, когда коллекция исчерпана. Конструкция Exit For используется для досрочного выхода. Этот способ использован в примере 3.6.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]