Excel ЧаВо

         

Как записывать значения в ячейку (Value, Value2, Text, Formula)?


Начиная с версии Excel XP (10.0), свойство Value имеет параметр. Отличие Value2 от Value в том, что Value2 не поддерживает "форматирования на лету" для типов Currency, Double и Date. Свойство Text (только чтение для Range) возвращает текст в ячейке. Свойство Formula выполняет те же функции, что и Value, с поддержкой "форматирования на лету", а также позволяет записывать в ячейку формулы со ссылками в стиле A1 (в идеале английские, но что на практике, смотрите здесь). Для стиля R1C1 используется свойство FormulaR1C1.

Для записи локализованных ("русских") форматов данных и формул используются свойства с окончанием Local, например FormulaLocal.

Delphi:

Range['A1', EmptyParam].Value2 := 'Любой текст'; Range['A2', EmptyParam].Value[xlRangeValueDefault] := 123.45; Range['A3', EmptyParam].Formula := Date;

// Будьте внимательны - в английских формулах разделитель аргументов

// только символ "," (запятая), а не ";", как в русских формулах!

Range['A4', EmptyParam].Formula := '=sum(A2:A3)';

C#:

// согласитесь, что немного неудобно писать так oSheet.get_Range("A6", Type.Missing).set_Value( Excel.XlRangeValueDataType.xlRangeValueDefault, 123.45); // или oSheet.get_Range("A7", Type.Missing).set_Value(Type.Missing, 123.45); // гораздо удобнее oSheet.get_Range("A6", Type.Missing).Value2 = 123.45; // или oSheet.get_Range("A6", Type.Missing).Formula = 123.45;

Если вы попробуете записать макрос в Excel, то увидите, что запись значений ведется в свойство FormulaR1C1. С тем же успехом можно писать и в свойство Formula.

Внимание! При записи в свойство Formula, если это не формула, следите, чтобы текст не начинался с символов "=", "+", "-", "*", "/". Или просто к тексту прибавляйте в начало знак апострофа (код символа 39):

Delphi:

Range['A1', EmptyParam].Formula := #39'Любой текст'; Range['A1', EmptyParam].Formula := #39 + MyStringVar;

По волнам интеграции… III

Value Property

Value2 Property

Formula Property

Text Property



Содержание раздела