На этом шаге мы рассмотрим основные операции с диапазоном ячеек:
создание ссылки на область, ее выделение, очистка и заполнение .
Попробуем задать координаты области и поработать с ними. В первую очередь нас могут заинтересовать такие параметры этой области, как количество ячеек и ее реальный адрес на листе рабочей книги Excel. Во-вторых, нам будет полезно узнать, как изменить, скопировать или очистить содержание ячеек этой области.
Рассмотрим в качестве примера следующие процедуры.
procedure TForm1.Edit1Exit(Sender: TObject); //Определяем ссылку на область begin Range:=E.ActiveSheet.Range[Edit1.Text]; Edit2.Text:=IntToStr(Range.Count); // Количество ячеек в области Edit3.Text:=Range.Address; // Реальный адрес области end; procedure TForm1.Button3Click(Sender: TObject); // Выделяем область begin Range.Select; end; procedure TForm1.Button5Click(Sender: TObject); // Очищаем область begin Range.Clear; end; procedure TForm1.Button4Click(Sender: TObject); // Заполняем ячейки выбранной области begin Range.Value:=Edit4.Text; end;
Результат выполнения процедуры заполнения ячеек области представлен на рисунке 1.
Рис.1. Результат работы приложения
Приведем полный текст приложения.
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComObj, ComCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; Edit1: TEdit; Label1: TLabel; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Button3: TButton; Label4: TLabel; Edit4: TEdit; Button4: TButton; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1Exit(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation var E:variant; WB:variant; //Ссылка на рабочую книгу Range: Variant; //Диапазон ячеек {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); //Создание объекта Excel и отображение окна begin E:=CreateOleObject('Excel.Application'); E.Visible:=True; end; procedure TForm1.Button2Click(Sender: TObject); //Создание рабочей книги begin E.WorkBooks.Add; WB:=E.WorkBooks.Item[1]; // Ссылка на рабочую книгу end; procedure TForm1.Edit1Exit(Sender: TObject); //Определяем ссылку на область begin Range:=E.ActiveSheet.Range[Edit1.Text]; Edit2.Text:=IntToStr(Range.Count); // Количество ячеек в области Edit3.Text:=Range.Address; // Реальный адрес области end; procedure TForm1.Button3Click(Sender: TObject); // Выделяем область begin Range.Select; end; procedure TForm1.Button5Click(Sender: TObject); // Очищаем область begin Range.Clear; end; procedure TForm1.Button4Click(Sender: TObject); // Заполняем ячейки выбранной области begin Range.Value:=Edit4.Text; end; end.
На следующем шаге мы рассмотрим виртуальный адрес области.