Delphi - сбориник статей

       

Создание и доступ к таблицам


Создать таблицу можно следующим образом (проверялось в Word 97):

var
Doc: _Document;
T: Table;
begin
Doc := Word.ActiveDocument;
T := Doc.Tables.Add(Word.Selection.Range, 5, 3);
T.Cell(1, 1).Range.Text := 'January';
T.Cell(1, 2).Range.Text := 'February';
T.Cell(1, 3).Range.Text := 'March';
T.Columns.Width := 72; // in points

Получение содержимого ячейки происходит так:

Caption := T.Cell(1, 3).Range.Text;

Учтите, что работа с таблицами в Word происходит очень медленно, а в Word 2000 чрезвычайно медленно. Поэтому, если в результирующем документе просто нужно быстро поместить таблицу, то можно, например, разместить текст, разделенный запятыми (или другим разделителем), а затем преобразовать его в таблицу. Сделать это можно так:

const
Line1 = 'January,February,March';
Line2 = '31,28,31';
Line3 = '31,59,90';



var
R: Range;
Direction, Separator, Format: OleVariant;
begin
Doc := Word.ActiveDocument;
R := Word.Selection.Range;
Direction := wdCollapseEnd;
R.Collapse(Direction);
R.InsertAfter(Line1);
R.InsertParagraphAfter;
R.InsertAfter(Line2);
R.InsertParagraphAfter;
R.InsertAfter(Line3);
R.InsertParagraphAfter;
Separator := ',';
Format := wdTableFormatGrid1;
R.ConvertToTable(Separator, EmptyParam, EmptyParam,
EmptyParam, Format, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam);



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