Вопрос
Как сделать экспортирование данных из 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 Сообщество Чайников
Контактная информация