5 Перемещение курсора по тексту
Используя метод Collapse, можно «сжать» объект Range или объект Selection, сократив его размер до нуля символов:
Rng.Collapse(wdCollapseEnd);
Параметр этого метода указывает, где окажется новый объект Range или Selection – в начале или в конце исходного фрагмента. Если используется позднее связывание, нужно определить в приложении соответствующие константы:
const
wdCollapseStart = $00000001; // новый объект находится
// в начале фрагмента
wdCollapseEnd = $00000000; // новый объект находится
// в конце фрагмента
Перемещать курсор по тексту можно с помощью метода Move объектов Range и Selection. Этот метод имеет два параметра. Первый из них указывает на то, в каких единицах измеряется перемещение — в символах (по умолчанию), словах, предложениях, абзацах и др. Второй параметр указывает на число единиц, на которое нужно переместиться (это число может быть и отрицательным; по умолчанию оно равно 1). Например, следующий фрагмент кода приведет к перемещению курсора на один символ вперед:
Rng.Move;
Другой фрагмент кода приведет к перемещению курсора на три абзаца вперед:
Rng.Move(wdParagraph, 3);
Отметим, что этот метод использует следующие константы:
const
wdCharacter= $00000001 // символ
wdWord = $00000002 // слово
wdSentence = $00000003 // предложение
wdParagraph= $00000004 // абзац
wdStory = $00000006 // часть документа (колонтитул, оглавление и др.)
wdSection = $00000008 // раздел
wdColumn = $00000009 // колонка таблицы
wdRow = $0000000А // строка таблицы
wdCell = $00000000 // ячейка таблицы
wdTable = $0000000F // таблица
Индивидуальное задание
Пусть имеется doc-файл, содержащий более одного абзаца текста (файл сформировать самостоятельно). На основе использования COM-технологии разработать программное приложение, которое выполняет обработку содержащейся в файле информации согласно индивидуальному заданию, приведенному в таблице 1. Результаты выполнения индивидуального задания необходимо добавить в исходный doc-файл.
Таблица 1 – Индивидуальные задания
Вариант |
Задание |
1 |
Выберите слова, в которых встречается мягкий знак |
2 |
Расположите слова в порядке уменьшения их длины |
3 |
Подсчитайте количество слов, которые начинаются с буквы «а» |
4 |
Подсчитайте количество слов, которые заканчиваются буквой «а» |
5 |
Напечатайте слова, в которых первая и последняя буквы одинаковые |
6 |
Определите, встречается ли первое слово еще раз |
7 |
Напечатайте все слова, которые встречаются по одному разу |
8 |
Удалите из текста повторные вхождения слов |
9 |
Подсчитайте, сколько раз встречается каждое слово |
10 |
Напечатайте все слова, стоящие на четных местах |
11 |
Определите, встречается ли последнее слово еще раз |
12 |
Напечатайте самое длинное слово |
13 |
В каждом слове перенесите первую букву в его конец |
14 |
Напечатайте слова, в которых первая буква входит более одного раза |
15 |
Напечатайте слово, отличные от последнего |
16 |
Удалите из слов все следующие вхождения их первых букв |
17 |
Напечатайте слова, в которые входит соединение «на» |
18 |
Напечатайте слова, в которые входят цифры |
19 |
Расположите слова в порядке увеличения длины слова |
Продолжение таблицы 1
Вариант |
Задание |
20 |
Напечатайте все слова, стоящие на нечетных местах |
21 |
Если слово нечетной длины, то удалить его среднюю букву |
22 |
В каждом слове перенесите последнюю букву в его начало |
23 |
Напечатайте слово в обратном порядке |
24 |
Выберите самое короткое слово |
25 |
Определите, встречаются ли в тексте одинаковые слова |