Здравствуйте, A7exander, Вы писали:
A>формула в ячейку Excel помещается так:
A>A>var
A> Range, Sheet, Excel, v: Variant;
A>begin
A> Excel := CreateOleObject('Excel.Application');
A> Sheet := Excel.Workbooks[1].Sheets[1];
A> Sheet.Cells[i, j] := '=(2+2)'; // занесение формулы
A> Sheet.Cells[i, j] := '=СУММ(A1:A8)'; // занесение формулы
A> Excel.Visible := true;
A>end;
A>
A> вопрос в том, как заставить Excel ее вычислить, потому как вместо результата в ячейке светится #ИМЯ? и подсказка "формула содержит нераспознанный текст" и если после этого установить курсор на строку с форулой и просто нажать Enter то формула прекрасно вычисляется... Как сделать то же самое программным методом?
A> причем строка "=(2+2)" вычисляется нормально.
A> насколько я понял распознать оно не может слово "СУММ".
A> также пытался делать нечто вроде
A>A> Sheet.Cells[y, i].Calculate;
A>
A>но это ничего не меняет...
Правильно будет написать вот так:
Sheet.Cells[i, j] := '=SUMM(A1:A8)'; // занесение формулы
Имена формул надо писать по-английски. И будет тебе счастье. Причем, неважно — русский или аглицкий ексель у тебя стоит.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>