На этом шаге мы рассмотрим использование форматов таблиц и их отдельных элементов.
В результате использования метода Add мы создали простую таблицу, основными параметрами которой являются ее местонахождение, а также количество столбцов и строк. Но в документах таблицы могут иметь вид, далеко отличающийся от того, что мы получили. Чтобы изменить вид таблицы, достаточно изменить толщину, стиль и цвет линий, рисунок и цвет заливки ячейки, цвет ячейки, расположить текст определенным образом. Тогда мы можем получить таблицу, удовлетворяющую определенным требованиям отображения содержащейся в ней информации.
Есть методы, позволяющие настроить индивидуально каждую строку, столбец или ячейку. Их мы рассмотрим позже. В Word есть несколько заданных форматов таблиц, использование которых приведет к определенному виду все ячейки таблицы.
Формат таблицы задается с помощью метода AutoFormat объекта "таблица". Вот его спецификация в VB:
AutoFormat(Format, ApplyBorders, ApplyShading, ApplyFont, ApplyColor, ApplyHeadingRows, ApplyLastRow, ApplyFirstColumn, ApplyLastColumn, AutoFit)
Аргументы метода и их назначение перечислены в таблице 1.
Аргумент | Тип | Назначение |
---|---|---|
Format | Число | Формат таблицы |
ApplyBorders | Логический | True - задать границы согласно спецификации формата |
ApplyShading | Логический | True - применить текстуру согласно спецификации формата |
ApplyFont | Логический | True - применить заданный форматом шрифт |
ApplyColor | Логический | True - применить заданный форматом цвет |
ApplyHeadingRows | Логический | True - использовать свойства для верхней строки согласно спецификации формата |
ApplyLastRow | Логический | True - использовать свойства для последней строки согласно спецификации формата |
ApplyFirstColumn | Логический | True - использовать свойства для первого столбца согласно спецификации формата |
ApplyLastColumn | Логический | True - использовать свойства для последнего столбца согласно спецификации формата |
AutoFit | Логический | True - изменять ширину ячейки согласно ширине введенного текста |
Первый аргумент метода Format: Integer определяет формат, который нужно задать таблице. Он может принимать значения от 0 до 39 (в Office 97), соответствующие различным предопределенным форматам таблицы. Остальные аргументы определяют применение или отказ от применения некоторых опций этого метода.
Используем метод AutoFormat для изменения внешнего вида созданных таблиц. Для этого создадим форму, расположим в ней элементы управления и следующий программный текст, который добавим в процедуру отклика на выбор в списке компонента ListBox1 и в процедуру отклика на нажатие кнопки TButton.
. . . . table: Variant; . . . . procedure TForm1.ListBox1Click(Sender: TObject); //Запомнить параметры выбранной таблицы begin table:=W.ActiveDocument.Tables.Item(ListBox1.ItemIndex+1); NumRows.Text:=IntToStr(table.Rows.Count); NumColumns.Text:=IntToStr(table.Columns.Count); end; procedure TForm1.Button6Click(Sender: TObject); //Применить выбранный формат begin table.AutoFormat(Format:=StrToInt(format.Text), 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;
Результат работы приложения изображен на рисунке 1:
Рис.1. Результат работы приложения
Первая процедура выбирает таблицу, используя индекс компонента ListBox1, и записывает в переменную table: Variant ссылку на эту таблицу. Вторая процедура работает с table как с объектом "таблица", изменяя ее формат согласно состоянию элементов управления (рисунок 1). Заполним элементы формы, значения которых используем в качестве аргументов метода AutoFormat, и выполним этот метод, предварительно выбрав одну из таблиц документа. В итоге получим результат, показанный на рисунке 1. Выбранный в данном примере формат соответствует значению аргумента Format=wdTableFormatColumns4 (wdTableFormatColumns4=13).
На следующем шаге мы рассмотрим изменение положения таблицы и ее строк.