Страница 1 из 3

Снова вопросы

Добавлено: 15 май 2008, 18:12
galover
Есть ли возможность включения в проектный include файл определения какой-либо функции или процедуры. Дело в том, что описание table struct проходит нормально, а вот на функцию ругается, что ожидалось слово external.
И второй вопрос - вывожу отчет с помощью ExcelLib, пишу формулу с помощью XlstWriteToMatrix('СУММ(R1C1:R2C2)'); После вывода в Excel вижу в этой ячейке #ИМЯ?. После того, как я зайду в эту ячейку и нажму F2 + Enter, то формула станет валидной. С чем такое может быть связано???. Может какие настройки в Excele нужно подкрутить? Спасибо!

Добавлено: 15 май 2008, 18:47
m0p3e
2) Хм. Формула должна начинаться с =. Описка?

Добавлено: 15 май 2008, 19:46
galover
Да, описка. Там стоит '='. Загвоздка в том, что XlsWriteToMatrix можно сунуть Sum (вместо СУММ) - и 2003 и 2007 офис это съедают и преобразуют при вставке в СУММ, а вот 2000 и XP пишут #ИМЯ? :( Вот я и подумал, может настроечка какая есть

Добавлено: 15 май 2008, 19:51
galover
З.Ы. XP рисует #ИМЯ?, хотя формула стоит =СУММ(ляляля) и по F2 + Enter все встает пучком

Добавлено: 15 май 2008, 20:43
Ged
xlSetCellFormula

Вроде по другому нельзя

Добавлено: 16 май 2008, 11:58
m0p3e
При большом объеме данных xlSetCellFormula очень долго.

Может что с форматом ячеек напутал? Есть у меня пару выгрузок, которые пишут формулы через матрицу и все работает.

Кстати какая версия галки?

Добавлено: 17 май 2008, 16:21
galover
Галактика 8.10. А что там с форматами, как их устанавливать? Я так понял, только через макрос. Нужно для ячеек с формулами, предварительно устанавливать формат перед занесением самих формул? xlSetCellFormula работает медленно, тут я обеими руками за XlstWriteToMatrix(). У меня в общем работает XlstWriteToMatrix() корректно, но не на всех машинах, т.е. какие-то телодвижения видимо нужны с самим Excel

Добавлено: 18 май 2008, 17:50
Ged
Проверил у себя XlstWriteToMatrix() с формулами прекрасно работает.
Может либо как m0p3e написал - проблема с ячейками, либо в Excell отключено автоматическое обновление формул Сервис - Параметры - Закладка Вычисления - Автоматически

Добавлено: 20 май 2008, 20:46
galover
нашел источник проблемы - меняю разделитель в региональных настройках с ',' на '.' все начинает работать, с запятой ни в какую. Засада!!!!!

Добавлено: 21 май 2008, 15:26
edward_K
дык замените при выводе в double. Вы какой функцией числа выводите?

Добавлено: 21 май 2008, 17:05
galover
XlStWriteToMatrix пишу в массив, потом сбрасываю массив в Excel. XlStWriteToMatrix принимает значение как string, пробовал XlWriteToMatrix при компиляции получаю ошибку, что нет такой функции :(

Добавлено: 22 май 2008, 08:21
Nikos
Так числа нужно выводить xlDoWriteToMatrix

Добавлено: 05 июн 2008, 16:23
galover
Спасибо, не знал. А где можно посмотреть полный список Excel функций и принимаемых значений, а то тот doc файлик что у меня имеется больно уж скуп на описание.

Добавлено: 05 июн 2008, 16:31
eyolkina
Спасибо, не знал. А где можно посмотреть полный список Excel функций и принимаемых значений, а то тот doc файлик что у меня имеется больно уж скуп на описание.
используй запись макросов и смотри какие функции юзает сам Excel

Добавлено: 05 июн 2008, 17:51
galover
eyolkina
очень смешно