Показать сообщение отдельно
Старый 26.01.2004, 14:02   #1  
somebody is offline
somebody
Участник
 
128 / 30 (2) +++
Регистрация: 30.04.2003
Адрес: Москва
? формат числа в Excel (+с условием)
Hello All!

Форматирование числа в ячейке Excel из Аксапты...

1-я проблема в том, что если в Regional Options "десятичная точка" - символ запятой, то не работает формат, к примеру, "###0.00"; если же символ точки, не работает, соответственно, "###0,00". Выяснить, что у пользователя в кач-ве десятичной точки - проблематично. Не знаю, есть ли соотв. API-ф-ция.

Другого рода проблема - с условным форматированием. Надо, к примеру, скрыть нули. Пишем формат "[=0]#;###0.00". Прекрасно работает c Excel 2000 (с правильно установленной дес. точкой), но возвращает ошибку в Excel XP...
Версию Excel у пользователя узнать могу через .version(). Но что толку, если в самом Excel'е XP такой формат работает, а из Аксапты - нет!

Знание того, русская ОС или нет, не поможет, т. к. Reg. Options можно корёжить как угодно, создавая самые дикие сочетания дес. точек, разделителей и т. п.

Для работы с Excel использую COMExcelDocument_RU.
Формат посылаю так:

COM comRange;
comRange = this.findRange(ComExcelDocument_RU::numToNameCell(col, row));
if (comRange)
{
try
{
comRange.numberFormat("#0.00");
...........


---
Waiting for an answer like a nightingale for the summer...