
Переменная, которую отображает ячейка, хранится в свойствах Text и Value
объекта Range (Cells), поэтому для того чтобы ее получить, достаточно про-
читать значение одного из этих свойств. Если тип данных (формат) значе-
ния ячейки неизвестен, используем свойство Text, чтобы получить его в ви-
де строки. Когда тип данных известен, можно попытаться использовать
свойство Value.
Допустим, нам неизвестен тип данных ячейки. Используем следующую
процедуру, которая позволяет прочитать ее значение.
Чтение значения ячейки
procedure T0KBottomDlg2.ButtonlClick(Sender: TObject);
begin
valuel.Text:=Range.Text;
end;
При выполнении этой процедуры значение ячейки записывается в свойство
Text объекта Value типа TEdit. Для записи в ячейку достаточно поменять
местами объекты в операторе представленной выше процедуры и использо-
вать свойство Value объекта Range, т. к. свойство Text в данном случае под-
ходит только для чтения. Так мы и поступим, т. е. запишем содержание
объекта TEdit приложения Delphi в ячейку рабочей книги Excel как текст.
Запись значения в ячейку
procedure T0KBottomDlg2.Button2Click(Sender: TObject);
begin
Range.Value:=valuel.Text;
end;
Используя данную процедуру, запишем строку символов '11111 ИГ в ячейку
В2. Результат представлен на рис. 12.1. Такой же результат можно получить,
используя объект Cells:
Cell.Value:=value2.Text;
И в этом случае записанные в ячейку символы отображаются как строка.

Рис. 12.1. Запись строки в ячейку
Для того чтобы записать значение в числовом формате, достаточно немного
изменить процедуру и записывать в свойство Value не строковую перемен-
ную, а переменную типа Integer или Currency, как это показано на следую-
щем примере.
Запись числового значения в ячейку
procedure TOKBottomDlg2.Button3Click(Sender: TObject);
begin
Range.Value:=strtocurr(valuel.Text);
end;
Результат выполнения процедуры представлен на рис. 12.2. В данном случае
объект Range автоматически определил тип записываемого значения и ото-
бразил его соответствующим образом, изменив формат ячейки.

Рис. 12.2. Запись числа в ячейку
Если требуется отобразить записываемое значение в виде даты, то в свойст-
во Value мы должны записать переменную, которая имеет в разрабатывае-
мом приложении Delphi тип TDate.
Запись даты в ячейку
procedure TOKBottomDlg2.Button4Click(Sender: TObject);
begin
Range.Value:=strtodate(valuel.Text);
end;

Рис. 12.3. Запись даты в ячейку
Соответственно результат будет выглядеть, как показано на рис. 12.3.
Мы выяснили следующий факт: свойство Value объекта Range, имеющее
тип variant, допускает запись данных разного типа, что позволяет изменить
формат ячейки в дальнейшем.
Это утверждение относится не только к объекту Range, но и к объекту Cells,
т. к. они оба представляют собой ссылку на ячейку (или область). Но неза-
висимо от того, какой тип имело записанное в ячейку значение, мы можем
изменить формат ячейки в любой момент. |