формат числа в 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...
|