Re: передать формулу в Excel
От: Horror_Infinity Россия  
Дата: 18.10.05 12:07
Оценка:
Здравствуйте, 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>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.