СообЧа > База Знаний > Программирование > Delphi

Вопрос

Как сделать экспортирование данных из TStringGrid в таблицу MS Word?

Ответ

uses ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var
   WordApp, NewDoc, WordTable: OLEVariant;
   iRows, iCols, iGridRows, jGridCols: Integer;
begin
   try
// Создание ссылки на Word
WordApp := CreateOleObject('Word.Application');
   except
     // Ошибка…
     Exit;
   end;

   // Показать Word
   WordApp.Visible := True;

   // Добавить новый документ
   NewDoc := WordApp.Documents.Add;

   // Получаем число колонок и строк
   iCols := StringGrid1.ColCount;
   iRows := StringGrid1.RowCount;

// Добавление таблицы
WordTable := NewDoc.Tables.Add(WordApp.Selection.Range, iCols, iRows);

// Заполнение таблицы Word'а содержимым Stringgrid
   for iGridRows := 1 to iRows do
  for jGridCols := 1 to iCols do
WordTable.Cell(iGridRows, jGridCols).Range.Text :=
StringGrid1.Cells[jGridCols — 1, iGridRows — 1];

// Здесь можно задать вопрос на сохранение документа и выхода из Word'а…

   // …
   
   // Очистка…
   WordApp := Unassigned;
   NewDoc := Unassigned;
   WordTable := Unassigned;
end;

Кирилл Краснов



Copyright © 2000-2004 Сообщество Чайников
Контактная информация