Определение региональных форматов в Microsoft Excel


: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/users/d/dm9/domains/mokshin.su/includes/unicode.inc on line 311.

Для того, чтобы в программе корректно применять форматы к ячейкам Excel (при работе как с automation server), нужно знать языковые настройки. Т.к. если, например, в системе в качестве десятичного разделителя настроена "." (точка), то форматирование с использованием "," (запятая) ничего хорошего не даст.
Эти настройки, а также некоторые другие параметры форматирования, можно определить из самого Excel используя свойство International объекта Application.

В качестве аргумента надо передать параметр-индекс запрашиваемого значения - примерно так: GeneralFormat = Application.International(xlGeneralFormatName)

Наиболее полезные значения:
xlGeneralFormatName = 26 - системное название формата Общий
xlDateSeparator = 17 - разделитель даты ("." точка по умолчанию для русского)
xlTimeSeparator = 18 - разделитель времени (":" двоеточие по умолчанию для русского)
xlYearCode = 19 - символ года ("Г" по умолчанию для русского)
xlMonthCode = 20 - символ месяца ("М" по умолчанию для русского)
xlDayCode = 21 - символ дня ("Д" по умолчанию для русского)
xlHourCode = 22 - символ часа ("ч" по умолчанию для русского)
xlMinuteCode = 23 - символ минуты ("м" по умолчанию для русского)
xlSecondCode = 24 - символ секунды ("с" по умолчанию для русского)

Также полезно знать, что формат Текстовый задается просто символом коммерческого at "@".

А сам формат задается через свойство NumberFormatLocal объекта Range.


Нравится