Формат ячейки определяется свойством NumberFormat объекта Range. Это
свойство имеет строковый тип, а форматы данных представляют собой оп-
ределенным образом заданные символьные константы. Используя свойство
NumberFormat, можно изменить формат любой ячейки или области, а также
прочитать значение формата с целью его анализа для внесения изменений.
Определим формат ячейки, которая содержит дату. Для этого воспользуемся
представленной ниже процедурой, записанной для приложения Delphi
(см. приложение на сопроводительном диске книги).
Определение формата ячейки
procedure TOKBottomDlglO.addresKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
i f Key<>13 then exit;
Range:=forml.E.ActiveSheet.Range[addres.Text];
NumberFormat.Text:=Range.NumberFormat;
end;
Для заданного адреса ячейки данная процедура возвращает ее формат, что
мы и видим на рис. 12.4.
Итак, мы определили формат ячейки, отображающей дату. Для данного
случая формат представляет собой строку типа 'ДД.ММ.ГГ. В строке, где
обычно записывают формулы, отображается числовое значение даты без
формата. Если мы изменим формат, то само значение не изменится. Изме-
нится только формат отображения его непосредственно в ячейке. Изменим
формат этой ячейки, чтобы отобразить год в четырехзначном формате с по-
мощью следующей процедуры.
Рис. 12.4. Определяем формат выбранной ячейки
Изменение формата ячейки
procedure TOKBottomDlglO.NumberFormatChange(Sender: TObject) ;
begin
Range. NumberFormat: =NuitiberFormat. Text;
end;
Изменив строку для задания формата к виду 'ДД.ММ.ГГГГ, мы сразу обна-
ружим изменение на рабочем листе книги Excel (рис. 12.5).
Как видно из рис. 12.4 и 12.5, значение ячейки в строке формул не измени-
лось — изменилось только отображение этого значения в ячейке рабочего
листа. Понятно, что для данной ячейки необязательно задавать формат как
дату. Если задать другой формат, то отображение записанного в нее число-
вого значения изменится. Значение любого формата, обычно используемого
в Excel, можно получить опытным путем. Например, установив его посред-
ством изменения свойства ячеек, а затем прочитав с помощью описанные
ранее процедуры.
Попробуем поэкспериментировать с форматом ячейки, записывая в свойст-
во NumberFormat либо известные значения формата, либо то, что нам под-
сказывают опыт и интуиция. Например, зададим формат в виде строки сим-
волов '000 000 000 000'. В результате значение ячейки будет отображено как
целое число, разбитое на разряды (рис. 12.6).
Рис. 12.5. Изменяем формат представления даты для выбранной ячейки
Рис. 12.6. Задание пользовательского формата для выбранной ячейки |