05.04.2007, 14:45 | #1 |
Участник
|
Была поставлена задача добавить к экспортируемому экселевскому листу формулу для подсчёта субтоталов. Возникла проблема с региональными настройками, т.е. при региональных настройках English (US) формула выглядит так:
[codebox]ExcelBuf.Formula := STRSUBSTNO('=SUBTOTAL(9,%1%2:%1%3)',TotalColumn,TotalRow1,TotalRow2);[/codebox] Если у пользователя стоят другие региональные настройки, например Danish, то при запуске куска кода ны выполнение вылазит OLE exception, так как в датских настройках разделитель элементов списка - ';' В MSDN (http://msdn2.microsoft.com/en-us/library/ms268748(VS.80).aspx) сказано, что следует вводить всё в настройках English (US), тогда Эксель автоматически переведёт всё в нужные локальные настройки пользователя. Чего не происходит, к моему сожалению, так как чтобы заставить формулу работать, нужно поменять разделитель списка. [codebox]ExcelBuf.Formula := STRSUBSTNO('=SUBTOTAL(9;%1%2:%1%3)',TotalColumn,TotalRow1,TotalRow2);[/codebox] Уважаемые форумчане, подскажите, как ввести формулу таким образом, чтобы она работала на любых региональных настройках? Свойства ListSeparator я не обнаружил. |
|