...

Листинг 9.8.

Работа с Microsoft Excel

unit COMinExcel;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms,

Dialogs,

//Включаем модуль работы с COM-объектами

ComObj;

type

TFormCOMExcel = class(TForm)

//Процедура, вызываемая при создании формы

procedure FormCreate(Sender: TObject);

//Процедура, вызываемая при завершении работы приложения

procedure FormDestroy(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormCOMExcel: TFormCOMExcel;

//Объявление объекта OleVariant с именем Microsoft Excel

Excel: OleVariant;

implementation

{$R *.dfm}

procedure TFormCOMExcel.FormCreate(Sender: TObject);

begin

//Инициализируем объект

Excel := CreateOleObject(\'Excel.Application\');

//Устанавливаем видимым окно приложения Microsoft Excel

Excel.Visible := true;

//Добавляем новую книгу

Excel.Application.Workbooks.Add;

//Вводим текст в ячейку с индексом E5

Excel.Application.Worksheets.Item[\'Лист1\'].

Cells.Item[5,5].FormulaR1C1 := \'! ТЕКСТ !\

//Задаем характеристики шрифта

Excel.Application.Worksheets.Item[\'Лист1\'].

Cells.Item[1,1].Font.Bold := true;

//В ячейку с индексом A1 записываем формулу

Excel.Application.Worksheets.Item[\'Лист1\'].

Cells.Item[1,1].FormulaR1C1 := \'=18*2\

end;

procedure TFormCOMExcel.FormDestroy(Sender: TObject);

begin

//Закрываем приложение Microsoft Excel

Excel.Quit;

end;

end.

Предложенный листинг демонстрирует основы удаленного управления приложением Microsoft Excel. Запуск Microsoft Excel, заполнение ячеек новой таблицы происходит в функции FormCreate.

Во время создания главной формы приложения-примера на экране появится окно программы Microsoft Excel с числом в ячейке с индексом А1 и текстом в ячейке с индексом Е5. Хотя в ячейку с индексом А1 мы записывали =18*2, на экране в этой ячейке будет отображаться 32, так как Microsoft Excel автоматически преобразует выражения в ячейках.

Загрузка...