|
![]() |
#1 |
MCTS
|
Попробуте изменить настройку:
Параметры Эксель / Формулы / Работа с формулами / Стиль ссылок R1C1
__________________
farlander.ru |
|
![]() |
#2 |
Участник
|
Цитата:
Решается так (если вы работаете с классом ComExcelDocument_RU): 1) в классе ComExcelDocument_RU делаете новый метод для определения стиля ссылок : Цитата:
public str ReferenceStyle()
{ COM comApplication; str 1 s = ''; ; if(!m_comDocument) { throw Error(StrFmt("@DIS6401", this.getApplicationName())); } else { comApplication = m_comDocument.application(); if (comApplication) { s = comApplication.ReferenceStyle(); }// if }// if return s; } Цитата:
str rs;
str SummaStr; // сумма int CurrentLine; // номер строки с суммирующей формулой int cnt; // число предществующих строк, которые суммируются в формуле ; ... rs = comExcelDocument_ru.ReferenceStyle(); // Суммирующая формула - в зависимости от текущей настройки стиля ссылок на ячейки в Excel пользователя if (rs=='1') SummaStr = strfmt('=СУММ(K%1:K%2)', CurrentLine - cnt, CurrentLine - 1); // В этом примере суммируется колонка К. else SummaStr = strfmt('=СУММ(R[-%1]C:R[-1]C)',cnt); Последний раз редактировалось Zabr; 26.08.2010 в 16:30. |
|
![]() |
#3 |
Moderator
|
Вообще в Excel у объекта Range имеются свойства: Formula (и FormulaLocal) для ввода формул в нотации A1 и FormulaR1C1(и FormulaR1C1Local) - для ввода формул в нотации R1C1. И для программного введения в ячейку конкретной формулы можно использовать тот стиль адресации, который более удобен разработчику. Не оглядываясь на текущий установленный пользователем стиль адресации, имеющий значение лишь при ручном вводе формул.
|
|
|
За это сообщение автора поблагодарили: farlander (1), natterru (1). |
Теги |
excel |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|