Перемещение курсора по тексту
Используя метод Collapse, можно <сжать> объект Range или объект Selection, сократив его размер до нуля символов:
Rng.Collapse(wdCollapseEnd);
Параметр этого метода указывает, в начале или в конце исходного фрагмента окажется новый объект Range или Selection. Если вы используете позднее связывание и ваше средство разработки- не Visual Basic, нужно определить в приложении соответствующие константы:
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 = $0000000A; //строка таблицы wdCell = $0000000C; //ячейка таблицы wdTable = $0000000F; //таблица
Нередко для перемещения по тексту используются закладки. Создать закладку в текущей позиции курсора можно путем добавления члена коллекции Bookmarks объекта Document c помощью метода Add, указав имя закладки в качестве параметра, например:
App.ActiveDocument.Bookmarks.Add('MyBookmark');
Проверить существование закладки в документе можно с помощью метода Exists, а переместиться на нее - с помощью метода Goto объектов Document, Range или Selection:
Rng := App.ActiveDocument.Goto(wdGoToBookmark, wdGoToNext, ,'MyBookmark'); Rng.InsertAfter('Текст, вставленный после закладки');
Значения констант для этого примера таковы:
const
wdGoToBookmark = $FFFFFFFF; //перейти к закладке wdGoToNext = $00000002; //искать следующий объект в тексте
Отметим, что с помощью метода Goto можно перемещаться не только на указанную закладку, но и на другие объекты (рисунки, грамматические ошибки и др.), и направление перемещения тоже может быть различным. Поэтому список констант, которые могут быть использованы в качестве параметров данного метода, довольно велик.