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

         

Операции над ячейками



Ниже перечислены операторы и функции, выполняющие различные действия над ячейками таблицы. Некоторые из них имеют множество операндов, описание которых я здесь для экономии места опустил, так как оно имеется в Справке.
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
 



Содержание раздела