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

3.2.5. Классы, составляющие части документа

Наиболее часто в Word возникает необходимость редактирования части документа (фрагмента). Получить фрагмент документа можно с помощью классов объектов Range и Selection.

3.2.5.1. Объект Range

Объект Range позволяет задать произвольный диапазон, представляющий собой последовательность индексированных элементов.

Диапазон может быть стянут в точку, тогда объект Range будет определять единственный элемент. Если объект Range представляет собой последовательность элементов, то необходимо задать индексы первого и последнего элемента.

Одновременно в тексте может быть задано несколько диапазонов. Каждый из них определяется позициями первого и последнего элемента.

Объект Range может быть получен через метод Range или свойство Range других объектов.

Рассмотрим, как можно получить объект Range, используя метод Range на примере объекта Document.

Формат метода Range объекта Document следующий:

Function Range([Start], [End]) As Range,

где параметры Start и End определяют начало и конец диапазона.

Если объект Range используется в процедуре многократно, то имеет смысл создать переменную типа объект Range .

Например, указав в процедуре:

Set Rng = ActiveDocument.Range(Start:=0, End:=20),

мы переменной Rng_1 присваиваем объект Range, представляющий собой первые 20 символов активного документа.

Свойство Range имеется у многих объектов, в том числе и у рассмотренных выше Paragraphs и Sections. Можно использовать это свойство для одного или нескольких одинаковых элементов, или для всей кол лекции данного элемента.

Например, если задать индекс для свойства Paragraphs, то из коллекции Paragraphs будет получен нужный объект:

Set имя_перем = ActiveDocument.Paragraphs(index).Range

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

Рассмотрим некоторые свойства объекта Range:

Startначальная символьная позиция диапазона.

Endконечная символьная позиция диапазона.

Textпозволяет получить или изменить содержимое объекта.

Fontобеспечивает доступ к свойствам и методам, обеспечивающим форматирование символов.

ParagraphFormat - обеспечивает доступ к свойствам и методам, обеспечивающим форматирование абзацев.

StoryTypeопределяет тип области, в которой находится диапазон. Всего определены 11 типов областей (области основного текста, колонтитулов, сносок и т.д), которым соответствуют wdStoryType – константы свойства StoryType.

Пример 3.9.

Public Sub Rang1()

Set Rng_1 = ActiveDocument.Paragraphs(1).Range

With Rng

.Style = wdStyleHeading1 ‘ стиль – заголовок1

.Font.Size = 18

End With

End Sub

В примере манипуляции выполняются над первым абзацем, наиболее часто требуется выполнять действия над группой элементов. Создать такой объект можно, используя свойства Start и End объекта Range.

Пример 3.10.

Public Sub Rang2()

Set rng_2 = ActiveDocument.Paragraphs(1).Range

With ActiveDocument

rng_2.Start = .Paragraphs(1).Range.Start

rng_2.End = .Paragraphs(5).Range.End

End With

With rng_2

.Style = wdStyleHeading1

.Font.Size = 18

End With

End Sub

В примере 3.10 в помощью свойств Start и End объект rng_2 (первый абзац) переопределен (пять первых абзацев) и отформатирован.

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

Пример 3.11.

Public Sub Rang3()

Set Rng_3 = aDoc.Range(Start:=aDoc.Paragraphs(1).Range.Start, _

End:=aDoc.Paragraphs(10).Range.End)

With Rng_3

.Bold = True ‘ полужирное начертание

.Font.Name = "Arial"

.Font.Size = 16

End With

End Sub

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