Выделение ячеек таблицы
Операторов в этой группе не так много, но все они часто используются при разработке макрокоманд для действий с таблицами.
TableSelectTable – выделить всю таблицу.
TableSelectColumn – выделить текущую колонку
CharRight 1, 1 – расширить выделение на соседнюю колонку
TableSelectRow – выбрать строку таблицы, содержащую IP или все выделенные строки.
Функция SelType()
используется для проверки, пуста ли ячейка:
If SelType() = 1 Then MsgBox "Ячейка пуста!"
Очень полезно использование функции SelInfo(Тип_С), которая возвращает 36 видов информации о выделенной части документа. Напомню, что активный конец такого участка тот, который перемещается при нажатии клавиш <Shift>+клавиша со стрелкой. Вот те значения аргумента Тип_С, которые касаются непосредственно работы с таблицами:
12 – возвращает -1, если выделен участок таблицы;
13 – номер строки таблицы, где находится начало выделенного участка таблицы;
14 – номер строки таблицы, где находится конец выделенного участка таблицы;
15 – число строк в таблице;
16 – номер колонки, где находится начало выделенного участка таблицы;
17 – номер колонки, где находится конец выделенного участка таблицы;
18 – наибольший номер колонки в строках, содержащих выделенный участок таблицы.
31 – возвращает -1, если IP находится у метки конца строки.
Примеры:
1. Переход к первой ячейке таблицы
TableSelectTable
StartOfRow
2. Переместить IP к метке конца первой строки таблицы. Когда IP находится в этой позиции, с помощью оператора TableInsertColumn можно добавить столбец к концу таблицы. <проверить>
TableSelectTable
StartOfColumn
3. Переместить IP к первому символу после таблицы.
TableSelectTable
CharRight
4.
Использование функции NextCell() для определения того, что IP находится в конце таблицы.
If NextCell() = 0 Then TableSelectTable
5. Проверка того, что IP находится внутри таблицы.
While SelInfo(12) = -1
'
Операторы,
выполняющие действия
'
над ячейками таблицы
Wend