В результате использования метода Add мы создали простую таблицу, ос-
новными параметрами которой являются ее местонахождение, а также ко-
личество столбцов и строк. Но в документах таблицы могут иметь вид, да-
леко отличающийся от того, что мы получили. Чтобы изменить вид табли-
цы, достаточно изменить толщину, стиль и цвет линий, рисунок и цвет
заливки ячейки, цвет ячейки, расположить текст определенным образом.
Тогда мы можем получить таблицу, удовлетворяющую определенным требо-
ваниям отображения содержащейся в ней информации.
Есть методы, позволяющие настроить индивидуально каждую строку, стол-
бец или ячейку. Их мы рассмотрим позже. В Word есть несколько заданных
форматов таблиц, использование которых приведет к определенному виду
все ячейки таблицы.
Формат таблицы задается с помощью метода AutoFormat объекта "таблица".
Вот его спецификация в VB:
Метод AutoFormat
AutoFormat(Format, ApplyBorders, ApplyShading, ApplyFont, ApplyColor,
ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn,
ApplyLastColumn, AutoFit)
Аргументы метода и их назначение перечислены в табл. 7.1.
Таблица 7.1. Аргументы метода AutoFormat
Первый аргумент метода Format:integer определяет формат, который нужно
задать таблице. Он может принимать значения от 0 до 39 (в Office 97), соот-
ветствующие различным предопределенным форматам таблицы. Остальные
аргументы определяют применение или отказ от применения некоторых
опций этого метода.
Используем метод AutoFormat для изменения внешнего вида созданных
таблиц. Для этого создадим форму, расположим в ней элементы управления
и следующий программный текст, который добавим в процедуру отклика на
выбор в списке компонента ListBoxl и в процедуру отклика на нажатие
кнопки Button 1.
Задание формата таблицы
var table:variant;
procedure TOKBottomDlg3.ListBoxlClick(Sender: TObject);
begin
table:=Forml.W.ActiveDocument.Tables.item(ListBoxl.itemindex+1);
NumRows.Value:=table.Rows.Count;
NumColumns.Value:=table.Columns.Count;
end;
procedure TOKBottomDlg3.ButtonlClick(Sender: TObject);
begin
table.AutoFormat(Format:=format.value,
ApplyBorders:=ApplyBorders.Checked,
ApplyShading:=ApplyShading.Checked,
ApplyFont:=ApplyFont.Checked,
ApplyColor:=ApplyColor.Checked,
ApplyHeadingRows:= ApplyHeadingRows.Checked,
ApplyLastRow:=ApplyLastRow.Checked,
ApplyFirstColumn:= ApplyFirstColumn.Checked,
ApplyLastColumn:=ApplyLastColumn.Checked,
AutoFit:=AutoFit.Checked);
end;
Первая процедура выбирает таблицу, используя индекс компонента
ListBoxl, и записывает в переменную table.variant ссылку на эту таблицу.
Вторая процедура работает с table как с объектом "таблица", изменяя ее
формат согласно состоянию элементов управления (рис. 7.3). Заполним
элементы формы, значения которых используем в качестве аргументов ме-
тода AutoFormat, и выполним этот метод, предварительно выбрав одну из
таблиц документа. В итоге получим результат, показанный на рис. 7.3. Вы-
бранный в данном примере формат соответствует значению аргумента
Format=wdTableFormatColumns4 (wdTableFormatColumns4= 13).
Рис. 7.З. Задание формата таблицы |