Язык WordBasic - практический подход


Операции над закладками - часть 2


Sub MAIN
всегоЗакладок = CountBookmarks()
размерМассива = всегоЗакладок - 1
Dim Закладки$(размерМассива)
For n = 0 To размерМассива
  Закладки$(n) = BookmarkName$(n + 1)
  MsgBox Закладки$(n)
Next n
End Sub
 
Функция GetBookmark$ (имя) считывает неформатированный текст, помеченный указанной закладкой. Если имя не является именем закладки в активном документе, то возвращается пустая строка.
Примеры:
1. Использование закладки /Cell и функции GetBookmark$ позволяет считать в переменную содержимое ячейки таблицы.
A$ = GetBookmark$("\Cell")
 
2. Считать в переменную second$ текст второй закладки документа.
second$ = GetBookmark$(BookmarkName$(2))
3. Считать в переменную текст абзаца, содержащего точку вставки.
текстАбзаца$ = GetBookmark$("\Para")
4. Текущую страницу (абзац, строку) документа можно выбрать с помощью команды EditGoTo с аргументом "\Page" (соответственно "\Para", "\Line"). При этом выделяется текущая страница (абзац, строка) целиком.
Sub MAIN
EditGoTo "\Page"
End Sub
 
Другая функция, CmpBookmarks(Закладка_1, Закладка_2), сравнивает две закладки и возвращает число соответствующее относительному положению и размерам закладок. Она используется для того чтобы организовать выполнение макрокоманды внутри определенного участка текста.
Интересны значения,
возвращаемые этой функцией сравнения:
0 – Закладка_1 и Закладка_2 эквивалентны;
1 – Закладка_1 полностью ниже Закладки_2;
2 – Закладка_1 полностью выше Закладки_2;
3 – Закладка_1 ниже и внутри Закладки_2;
4 – Закладка_1 внутри и выше Закладки_2;
5 – Закладка_1 включает в себя Закладку_2;
6 – Закладка_2 включает в себя Закладку_1;
7 – Закладка_1 и Закладка_2 начинаются в одной точке, но Закладка_1 длиннее;
8 – Закладка_1 и Закладка_2 начинаются в одной точке, но Закладка_2 длиннее;
9 – Закладка_1 и Закладка_2 заканчиваются в одной точке, но Закладка_1 длиннее;
10 – Закладка_1 и Закладка_2 заканчиваются в одной точке, но Закладка_2 длиннее;
11 – Закладка_1 расположена ниже и примыкает к Закладке_2
12 – Закладка_1 расположена выше и примыкает к Закладке_2
13 – одна из двух закладок не существует.
 
!!!Оператор InsertBookmark
– в Word 6.0 не существует.
Функция EmptyBookmark(Имя$) позволяет проверить, "пустая" закладка или нет. Пустая закладка определяет только местоположение для точки вставки в документе, но не помечает какой-либо текст. Функция возвращает -1, если закладка пустая, 0, если не пустая или не существует.
Существование закладки можно проверить с помощью функции ExistingBookmark(Имя$). Аналогично, она возвращает -1, если закладка существует, 0, если нет.
 



Начало  Назад  Вперед