Курсовая работа: Delphi: работа с MS WORD
WordDocument1.Tables.Add(WordDocument1.Range(a,b), i, j, EmptyParam, EmptyParam);
Переменные a и b должны быть объявлены как OleVariant.
Ну вот, теперь у нас есть таблица. Неважно, содержалась она уже в документе или мы создали ее сами. Посмотрим, что же мы с ней можем сделать. Число столбцов и строк узнаем так:
i:=1;
k:=WordDocument1.Tables.Item(i).Columns.Count;
j:=WordDocument1.Tables.Item(i).Rows.Count;
Здесь мы опять обратились к первой таблице, но можем работать с любой - надо только правильно указать ее номер. Теперь изменим ширину столбцов или высоту строк:
WordDocument1.Tables.Item(i).Columns.Width:=90;
WordDocument1.Tables.Item(i).Rows.Height:=45;
Аналогично можем задавать размеры отдельных строк и столбцов:
WordDocument1.Tables.Item(i).Columns.Item(j).Width:=90;
WordDocument1.Tables.Item(i).Rows.Item(j).Height:=45;
Здесь j - опять таки целое число, начинается от 1. Можем обратится к отдельной ячейке, прочитать или изменить содержащийся в ней текст:
WordDocument1.Tables.Item(i).Cell(j,k).Range.Text;
Здесь j и k целые переменные, изменяются от 1 до числа строк или столбцов соответственно. Присвоив данной величине строковое выражение, увидим, что оно появилось в ячейке (j,k). Несколько непривычно, но в таблицах Word на первом месте стоит именно номер строки. Можем также задать программно отступы от края ячеек, как для всей таблицы сразу, так и для отдельной ячейки:
WordDocument1.Tables.Item(i).TopPadding:=10;
WordDocument1.Tables.Item(i).BottomPadding:=10;
WordDocument1.Tables.Item(i).RightPadding:=10;
WordDocument1.Tables.Item(i).LeftPadding:=10;
В данном случае мы задали одинаковые отступы для всей таблицы, но аналогичные четыре свойства есть и у отдельной ячейки. Выделить нужную ячейку, столбец или строку можем следующим образом:
WordDocument1.Tables.Item(i).Cell(j,k).Select;
WordDocument1.Tables.Item(i).Columns.Item(j).Select;
WordDocument1.Tables.Item(i).Rows.Item(j).Select;
Кроме того, можем подогнать размеры ячеек по содержимому. Для этого вызываем метод AutoFit:
WordDocument1.Tables.Item(i).Columns.AutoFit;
Добавить строку или столбец также не представляет сложностей:
WordDocument1.Tables.Item(i).Columns.Add(EmptyParam);
WordDocument1.Tables.Item(i).Rows.Add(EmptyParam);
var i, j: Integer;