Тема урока: Работа с содержимым текста icon

Тема урока: Работа с содержимым текста


Смотрите также:
Методические приемы: рассказ учителя, работа с картой, выра­зительное чтение, словарная работа...
Тема: Работа с текстом (практическая работа)...
Тема: «Восстановление деформированного текста «Чашка»...
Тема урока Цели урока...
Конспект открытого урока по информатике. Предмет урока...
Тема выступления «Анализ урока»...
Урок по информатики в 10 классе Тема урока...
Календарно-тематическое планирование № урока Тема урока Вид урока. Основные виды деятельности...
Конспекта урока Тема четверти. Тема урока...
Конспект урока литературы в 11 классе ( 2 часа ) Тема Анализ эпизода прозаического текста. А. Н...
Урок русской литературы в 6 классе Тема урока: Человек в окружающем мире. «Что есть правда»...
Конспект урока по русскому языку тема урока: «Учимся писать письма»...



Загрузка...
скачать
Тема раздела: Создание приложений для MS Word

Тема урока: Работа с содержимым текста

  1. Объект Selection

  2. Объект Range.


1. Объект Selection.

Имея в наличии документ, можно как угодно манипулировать с его содержанием. В контексте объектно-ориентированного подхода практически все действия, которые выполняются над документом, выполняются над объектами, подчиненными объекту Document. Почти все, что делается с содержимым документа, предполагает наличие некоторой заданной позиции или части документа, над которой нужно произвести действие. Для этого используются объекты Selection и Range.

Объект Selection представляет собой выделенный текст в документе. Этот объект всегда существует, даже если никакого текста не выделено, то объект Selection представляет текущее расположение точки вставки.

Действия, которые можно производить с объектом Selection разбиваются на две категории:

  • изменение выделения так, чтобы оно включало другую часть документа;

  • изменение текста внутри выделения.

Объект Selection имеет свойства, которые содержат информацию о выделенном тексте и методах, которыми производятся манипуляции с ним. (таблица)

Поскольку объект Selection может представлять содержимое различных типов, всегда лучше всего сначала проверить, данные какого вида были выделены, прежде чем с ними что-то делать. В противном случае - сообщения об ошибках. Для поиска подобных сведений используйте свойство Туре объекта Selection . Можно использовать при подобных проверках константы:


wdNoSelection Ничего не выбрано

wdSе1еctionBlоск Вертикальный блок текста

wdSelectionColurr Столбец в таблице

wdSelection Frame Рамка

wdSelectionlnlineShape Графическое изображение в тексте

wdSelесtiоn IP Только точка вставки

wdSelectionNormal Обычное выделение фрагмента текста

wdSelectionRow Строка таблицы

wdSelectionShape Изображение, не помещенное в текст


Пример 1

Sub точка_вставки_в_конец_текста()

If Selection.StoryType = wdMainTextStory Then

Selection.Move Unit:=wdStory, Count:=1

End If

End Sub


Пример 2

Sub точка вставки в начало с текстом()

If Selection.StoryType = wdMainTextStory Then

Selection.Move Unit:=wdStory, Count:=-1

Selection.TypeText "лекция"

Selection.InsertParagraphAfter

End If

End Sub


Пример 3

Sub копирование абзаца в начало текста()

Selection.Move Unit:=wdStory, Count:=-1

Selection.Expand Unit:=wdParagraph

Selection.Copy

Selection.Move wdStory, -1

Selection.Paste

End Sub


Пример 4

Sub разрыв страницы после 3 абзаца()

Selection.Move Unit:=wdStory, Count:=-1

Selection.Move Unit:=wdParagraph, Count:=3

Selection.InsertBreak Type:=wdPageBreak


^ 2. Объект Range

Если вы редактируете документ самостоятельно, вы должны поместить указатель мыши в нужное место либо выделить определенный фрагмент, прежде чем добавлять, удалять или форматировать текст. Однако в Word объекты Range избавляют от подобной необходимости. Объект Range определяет неразрывный блок текста в документе. Объекты Range полностью независимы от точки вставки или выделенного раздела, которые пользователь видит в окне документа. После создания объекта Range вы сможете манипулировать текстом, используя команды VBA, полные аналоги мощных команд редактирования Word, точно так же, как при использовании объектов S e l e c t i o n . Вы можете определить объекты Range в программном коде одним из двух следующих способов:

  1. работая с диапазонами с помощью свойства Range;

  2. определив диапазоны с помощью метода Range объекта Document.

Открытый документ Word уже содержит объекты Range, соответствующие многим его элементам. Каждый абзац, а также таблица, отдельная ячейка таблицы, комментарий или нижний колонтитул (и это далеко не полный список) определяют диапазоны. Например, для определения объекта Range, соответствующего первому абзацу активного документа, вам следует использовать объектную ссылку следующего вида.

ActiveDocument. Paragraphs (1) . Range

Поскольку подобные стандартные диапазоны уже существуют в Word, вы можете использовать объектные ссылки на них напрямую, обходясь без каких-либо переменных. Это особенно хорошо подходит для тех ситуаций, когда вам необходим один конкретный диапазон для одной операции. Например, приведенная ниже инструкция копирует вторую таблицу в документе в буфер обмена, используя метод Сору объекта Range:

ActiveDocument.Tables(2) .Range.Copy

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

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


Пример 5

Set deRange = Selection.Range

Selection.Move unit := wdParagraph, Count := 3

deRange.Case = wdUpperCase

End Sub

Case – возвращает или устанавливает регистр текста в диапозоне.

wdLowerCase – нижний регистр;

wdUpperCase – верхний регистр;

wdToggleCase – переключить регистр;

wdTitleWord – первая буква слова в верхнем регистре.


^ Определение диапазонов с помощью метода Range

Если существующие объекты не содержат текст, с которым вы хотите работать, создайте собственный объект Range. В любом открытом документе вы сможете определить столько объектов Range, сколько вам нужно. При этом используется метод Range документа, который требует указания начальной и конечной точек диапазона в терминах расположения символа в документе. Например:

ActiveDocument.Range(Start:= 10, End:=2 0)

Приведенное выше выражение представляет собой объектную ссылку на диапазон, который начинается с 11-го символа и заканчивается 20-м символом. Значение расположения символа на самом деле означает место слева от данного символа. Например, значение, равное 0, соответствует первому символу в документе, а значение 10 указывает на точку между 10-м и 31-м символами. Word считает все символы в документе, включая скрытые и непечатаемые знаки. Для создания диапазона, который станет всего лишь местом расположения и не содержит никакого текста, присвойте начальному и конечному значениям, определяющим диапазон, одно и то же число. Для включения в объект Range всего документа используйте метод Range этого документа без каких-либо аргументов или же используйте свойство Content документа. Для определения диапазона, используйте свойства Start или End объекта Selection , Range или Bookmark, чтобы определить месторасположение в документе интересующего вас символа.


Пример 6

Sub в документе 10 символов()

Dim R As Word.Range

Set R = ActiveDocument.Range(Start:=10, End:=20)

R.Bold = True

End sub


Bold – возвращает True или False, в зависимости от того, форматирован ли текст в диапазоне жирным шрифтом.


Пример 7

Sub выделяет первое предложение каждого абзаца жирным шрифтом()

Dim R As Word.Range

Dim P As Word.Paragraph

For Each P In Documents("VBA").Paragraphs

If P.Range.Sentences.Count > 0 Then

Set R = P.Range.Sentences(1)

R.Bold = True

End If

Next P

End Sub


Пример 8

sub регистр текста в диапозоне ()

set derange = selection.range

derange.case = wdlowercase

end sub


Пример 9

Sub подчeркивает_7_абзац()

Dim R As Word.Range

Set R = ActiveDocument.Paragraphs(7).Range

R.Underline = wdUnderlineSingle

End Sub


Underline – возвращает или устанавливает подчеркивание текста в диапозоне.

wdUnderlineSingle – подчеркивать сплошной линией.

wdUnderlineNone – не подчеркивать;

wdUnderlineDotDach – подчеркивать пунктиром;

wdUnderlineWords – подчеркивать только слова.

Italic - возвращает True или False, в зависимости от того, форматирован ли текст в диапазоне курсивом.


^ Различия между объектами:

Объекты Range и Selection являются отправными точками для практически любых операций, которые вы сможете выполнять с текстом с помощью Word VBA. Некоторые из этих действий можно применять к документам в целом, но в общем случае вам необходим диапазон или выделенная область, прежде чем вносить изменения. У объектов Range и Selection достаточно много общего, но есть и несколько ключевых отличий. Оба объекта представляют непрерывные последовательности символов, над которыми можно выполнять различные операции. Оба объекта имеют много общих свойств и методов. Однако некоторые свойства и методы уникальны для выделенных областей, а другие — для диапазонов. Значительные различия состоят и в том, что объект Selection соответствует выделению в области окна: тексту, графическому изображению или любому другому объекту, в то время как объекты Range существуют независимо от выделенной области и всегда содержат текст. Используйте объект Selection в том случае, если ваша процедура зависит от пользователя, например, он должен указать текст, с которым будут проведены определенные действия, или в том случае, если вам необходимо показать пользователю, какой именно текст будет изменен. В других ситуациях намного лучше подходят объекты Range. Они обеспечивают большую скорость выполнения программ и меньше отпугивают пользователя: Word обновляет содержимое экрана при каждом изменении содержимого выделенной области, а при изменении диапазона содержимое экрана не обновляется. Кроме того, изменения диапазонов не отражаются на выделенных областях, созданных пользователем.




Скачать 61.34 Kb.
оставить комментарий
Дата23.01.2012
Размер61.34 Kb.
ТипУрок, Образовательные материалы
Добавить документ в свой блог или на сайт

Ваша оценка этого документа будет первой.
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Загрузка...
Документы

Рейтинг@Mail.ru
наверх