Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Presentation_2s-3.doc
Скачиваний:
56
Добавлен:
24.03.2015
Размер:
784.38 Кб
Скачать

12.2.1. Определение и выделение диапазонов в документах

1. Определение диапазона.

Добавление диапазона в активный документ в проекте на уровне документа:

Dim rng As Word.Range = Me.Range(Start:=0, End:=7)

rng.Select()

Добавление диапазона в активный документ в проекте на уровне приложения:

Dim rng As Word.Range = _

Me.Application.ActiveDocument.Range(Start:=0, End:=7)

rng.Select()

2. Выделение всего документа.

Выделение всего документа в проекте на уровне документа:

Me.Range.Select()

или

Me.Content.Select()

Выделение всего активного документа в проекте на уровне приложения:

Me.Application.ActiveDocument.Range.Select()

или

Me.Application.ActiveDocument.Content.Select()

3. Выделение предложения.

Выделение предложения в активном документе:

Dim s2 As Word.Range = Me.Sentences(2)

s2.Select()

или

Dim s2 As Word.Range = _

Me.Application.ActiveDocument.Sentences(2)

s2.Select()

4. Выделение предложения установкой начального и конечного значений для диапазона.

Dim rng As Word.Range 'Создание переменной диапазона

...

'Проверка наличия в документе хотя бы двух предложений

If Me.Sentences.Count >= 2 Then

Dim startLocation As Object = Me.Sentences(2).Start

Dim endLocation As Object = Me.Sentences(2).End

'Задание аргументов Start и End для диапазона

rng = Me.Range(Start:=startLocation, End:=endLocation)

rng.Select() 'Выделение диапазона

End If

или

Dim rng As Word.Range 'Создание переменной диапазона

...

Dim document As Word.Document = Me.Application.ActiveDocument

'Проверка наличия в документе хотя бы двух предложений

If document.Sentences.Count >= 2 Then

Dim startLocation As Object = document.Sentences(2).Start

Dim endLocation As Object = document.Sentences(2).End

'Задание аргументов Start и End для диапазона

rng = document.Range(Start:=startLocation, End:=endLocation)

rng.Select() 'Выделение диапазона

End If

12.2.2. Получение значений начала и завершения диапазона

Dim rng As Word.Range = Me.Sentences(2)

Dim startPosition As String = rng.Start.ToString()

Dim endPosition As String = rng.End.ToString()

...

MessageBox.Show("Начало диапазона: " & startPosition & _

", Конец: " & endPosition)

или

Dim rng As Word.Range = _

Me.Application.ActiveDocument.Sentences(2)

Dim startPosition As String = rng.Start.ToString()

Dim endPosition As String = rng.End.ToString()

...

MessageBox.Show("Начало диапазона: " & startPosition & _

", Конец: " & endPosition)

12.2.3. Вставка текста в документы

1. Вставка текста в диапазон.

Dim rng As Word.Range = Me.Range(Start:=0, End:=0)

'или Dim rng As Word.Range = _

Me.Application.ActiveDocument.Range(Start:=0, End:=0)

rng.Text = "Новый текст"

rng.Select()

2. Замена текста в диапазоне.

3. Вставка текста с помощью метода TypeText.

Friend Sub SelectionInsertText()

'Объявление объектной переменной Selection

Dim currentSelection As Word.Selection = _

Application.Selection

'Сохранение текущего состояния параметра Overtype выделения

Dim userOvertype As Boolean = Application.Options.Overtype

'Отключение параметра Overtype (если он включен)

If Application.Options.Overtype Then

Application.Options.Overtype = False

End If

With currentSelection

'Проверка принадлежности точки вставки текущему объекту

'выделения

If .Type = Word.WdSelectionType.wdSelectionIP Then

'Вставка предложения

.TypeText("Вставка в точке вставки. ")

.TypeParagraph() 'Вставка знака абзаца

'Проверка, является ли текущий объект выделения обычным

ElseIf .Type = Word.WdSelectionType.wdSelectionNormal Then

'Проверка, включен ли параметр ReplaceSelection

If Application.Options.ReplaceSelection Then

'Свертывание выделения к точке вставки (в начало

'фрагмента текста) с помощью метода Collapse

'объекта выделения

.Collapse( _

Direction:=Word.WdCollapseDirection.wdCollapseStart)

End If

'Вставка текста

.TypeText("Вставка перед блоком текста. ")

.TypeParagraph() 'Вставка знака абзаца

'Если объект выделения не содержит точку вставки или

'фрагмент выделенного текста, в блоке Else

'не выполняется никаких действий

Else

'Ничего не делается

End If

End With

'Восстановление состояния параметра Overtype выделения

Application.Options.Overtype = userOvertype

End Sub