Операции над ячейками
Ниже перечислены операторы и функции, выполняющие различные действия над ячейками таблицы. Некоторые из них имеют множество операндов, описание которых я здесь для экономии места опустил, так как оно имеется в Справке.
TableInsertColumn – вставить новую колонку;
TableInsertRow – вставить новую строку;
TableInsertTable – создать таблицу;
TableRowHeight – изменить высоту строк таблицы;
TableMergeCells – объединить выделенные ячейки в одну. Удобен для оформления заголовков таблицы.
TableSort – сортировка ячеек таблицы.
Table DeleteColumn – удаляет колонку, содержащую точку вставки.
TableDeleteRow – удаляет строку, содержащую точку вставки.
TableDeleteCells – удаляет выделенные ячейки. Если IP находится вне таблицы, возникает ошибка. У этого оператора может быть аргумент, который существенно расширяет его возможности:
TableDeleteCells.ShiftCells = число
0 или опущено – после удаления ячейки, остальные сдвигаются влево;
1 – сдвигать вверх;
2 – удалить целиком строку;
3 – удалить целиком столбец.
Примеры:
1. Оставить в таблице 10 последних строк.
TableSelectTable
StartOfRow
While SelInfo(15) > 10 Then
TableDeleteRow
Wend
2. Добавить строку в конец таблицы.
TableSelectTable
CharRight
TableInsertRow
3. Выделить четыре строки таблицы.
For i = 1 To 4
TableSelectRow
LineDown
Next i
Следующие два примера представляют собой часть макрокоманд для удаления строки или столбца без их предварительного утомительного выделения.
4. Удаление столбца.
If SelInfo(12) <> -1 Then Stop
TableDeleteColumn
5. Удаление строки.
If SelInfo(12)<> -1 Then Stop
TableDeleteRow
Перевод текста в таблицу
Оператор FieldSeparator и функция FieldSeparator$()
Оператор FieldSeparator$ устанавливает символ-разделитель, заданный аргументом Разделитель$, для того, чтобы можно было распределить текст по ячейкам таблицы при выполнения оператора TextToTable. Так если у вас данные разделены в тексте знаком(!), то перед конвертированием в таблицу следует выполнить макрос с оператором FieldSeparator$
"!".
Функция FieldSeparator$() возвращает текущее значение символа-разделителя.
Синтаксис:
FieldSeparator$ Разделитель$
FieldSeparator$()
Пример.
Сначала проверяется текущее значение разделителя полей. Если разделителем служит знак %, то преобразовать текст в таблицу, иначе сохранить текущее значение, изменить его на %, конвертировать, после чего восстановить сохранённое значение.
Sub MAIN
If FieldSeparator$() = "!" Then
TextToTable
Else
fs$ = FieldSeparator$()
FieldSeparator$ "!"
TextToTable
FieldSeparator$ fs$
End If
End Sub