Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

Глава 26. Вопросы совместимости

779

пользования 16-разрядной версии Excel 2010. Для всех остальных версий Excel применя­ ется второй оператор D e c la r e .

Создание интернациональных приложений

Последний вопрос совместимости касается языковых и интернациональных настроек. Excel поставляется в различных языковых версиях. Следующий оператор выводит значе­ ние кода страны текущей версии Excel:

MsgBox A p p li c a t io n . I n t e r n a t io n a l(x lC o u n try C o d e )

Версия Excel, предназначенная для применения в Великобритании и США, имеет код 1. Остальные коды языков перечислены в табл. 26.1.

Таблица 2 6 .1 . Коды язы ков, поддерж иваем ы е в Excel

Язык

Код

Английский

1

Русский

7

Греческий

30

Голландский

31

Французский

33

Испанский

34

Венгерский

36

Итальянский

39

Чешский

42

Датский

45

Шведский

46

Норвежский

47

Польский

48

Немецкий

49

Португальский (бразильский)

55

Тайский

66

Японский

81

Корейский

82

Вьетнамский

84

Упрощенный китайский

86

Турецкий

90

Хинди

91

Урду

92

Португальский

351

Финский

358

Традиционный китайский

886

Арабский

966

Иврит

972

Фарси

982

780

Часть VII. Дополнительные темы

В Excel также поддерживаются языковые пакеты, в результате чего единственная ко­ пия Excel может “говорить” с пользователями на различных языках. Причем языки всту­ пают в игру в двух областях — пользовательский интерфейс и режим выполнения.

Для определения языка, используемого интерфейсом пользователя, применяется сле­ дующий оператор:

Msgbox A p p lic a tio n .L a n g u a g e S e ttin g s .L a n g u a g e lD (m s o L a n g u a g e lD U I)

Например, идентификатор английского языка — 1033.

Если ваше приложение предназначено для пользователей, говорящих на иностранном языке, следует убедиться в том, что в выбран корректный язык. Также следует указать символы разделителя десятичной точки и разделителя тысяч, применяемые в каждом конкретном случае. В США в этих целях практически всегда применяются точка и запя­ тая соответственно. Пользователи из других стран могут использовать собственные сим­ волы разделителей. Также следует обратить внимание на формат даты и времени. На­ пример, в США применяется не вполне логичный формат месяц/день/год.

Если разрабатывается приложение, которое будет применяться только пользователя­ ми одной компании, то о вопросах интернациональной совместимости можно не заду­ мываться. Если же офисы компании рассредоточены по всему миру или планируется распространение приложения за пределы страны, то стоит обратить внимание на ряд во­ просов, решение которых обеспечит правильную работу приложения. Эти вопросы рас­ сматриваются в данном разделе.

Многоязычные приложения

Весьма очевидным моментом является язык общения, который будет использоваться в приложении. Например, если приложение отображает одно или несколько диалоговых окон, то может возникнуть необходимость в отображении текста на языке пользователя. Это несложно (если, конечно, вы владеете соответствующим языком).

К о м п а к т-д и ск

На прилагаемом к книге компакт-диске в файле m u lt ilin g u a l w iz a rd , x ls m находится пример, демонстрирующий выбор одного из трех языков в диалоговом окне: английский, испанский либо немецкий.

Первый этап работы мастера заключается в отображении элемента управления O p tio n B u tto n , позволяющего пользователю указать язык общения. Текст на трех язы­ ках хранится на рабочем листе.

Процедура U s e r F o r m _ I n it ia liz e содержит код, который пытается “угадать” ис­ пользуемый пользователем язык путем проверки значения свойства I n t e r n a t io n a l .

S e le c t

Case

A p p lic a tio n . In te r n a t io n a l( x lC o u n t r y C o d e )

Case

34 'и с п а н с ки й

 

 

U serLanguage =

2

 

Case

4 9 'нем ецкий

 

 

U serLanguage =

3

 

Case

E ls e

'п о умолчанию

а н гл и й ски й

U serLanguage = 1 'п о

умолчанию

End S e le c t

 

 

 

На рис. 26.2 показано пользовательское диалоговое окно, отображающее текст на трех языках.

782

 

Часть VII. Дополнительные темы

 

 

Окончание табл. 26.2

Свойство

“Локальная” версия

Возвращаемое значение

F o rm u la R lC l

F o rm u la R lC lL o c a l

Формула в записи R1C1

Name

NameLocal

Имя

NumberFormat

Num berForm atLocal

Числовой формат

R efersT o

R e fers T o L o c al

Ссылка

R e fe rs T o R lC l R e fe rs T o R lC lL o c a l

Ссылка в записи R1C1

Идентификация настроек системы

Очень редко случается так, что система конечного пользователя настроена так же, как и система, в которой происходила разработка приложения. Для интернациональных прило­ жений необходимо получить информацию о следующих параметрах настройки системы.

Разделитель десятичных знаков. Символ, который используется для отделения десятичной части значения.

Разделитель тысяч. Символ, который используется для разделения триад цифр.

Разделитель списка. Символ, который используется для разделения элементов списка.

Текущее значение параметра настройки можно получить с помощью свойства I n ­ t e r n a t io n a l объекта A p p lic a t io n . Например, следующий оператор отображает разделитель десятичных знаков, который не всегда является запятой:

MsgBox A p p lic a t io n . In t e r n a t io n a l( x lD e c im a lS e p a r a t o r )

Существует 45 интернациональных параметров настройки, доступ к которым можно получить с помощью свойства I n t e r n a t io n a l . Эти параметры перечислены в табл. 26.3.

Таблица 26.3. Константы свой ства international

Константа

Что определяет

xlC ountryC ode

Языковую версию Microsoft Excel

x lC o u n try S e ttin g

Текущие установки страны в папке Панель управления

x lD e c im a lS e p a ra to r

Разделитель десятичной части

xlT h o u san d sS e p a rato r

Разделитель нулей или триад цифр

x lL is tS e p a r a to r

Разделитель списка

xlU p p erC aseR o w Letter

Символ строки в верхнем регистре (для ссылок в стиле R1C1)

xlU p p erC aseC o lum nL etter

Символ столбца в верхнем регистре

xlL ow erC aseR ow L etter

Символ строки в нижнем регистре

xlL ow erC aseC olu m n Letter

Символ столбца в нижнем регистре

x lL e ftB r a c k e t

Символ, который используется вместо открывающей квад­

 

ратной скобки ([) в относительных ссылках стиля R1C1

x lR ig h tB ra c k e t

Символ, который используется вместо закрывающей квад­

 

ратной скобки (]) в относительных ссылках стиля R1C1

x lL e ftB r a c e

Символ, который используется вместо открывающей фигур­

 

ной скобки ({) в массивах символов

x lR ig h tB ra c e

Символ, который используется вместо закрывающей фигур­

 

ной скобки (}) в массивах символов

Глава 26. Вопросы совместимости

783

Константа

xlC olum nSeparator

xlRowSeparator

x lA lte rn a te A rra y - Separator

xlD ate S e pa ra to r xlT im eS eparator xlYearCode xlMonthCode xlDayCode xlHourCode

xlM inuteCode xlSecondCode xlCurrencyCode xlGeneralFormatName x lC u rre n c y D ig its

xlC urre ncyN e ga tive

xlN o n c u rre n c y D ig its

xlMonthNameChars

xlWeekdayNameChars

xlD ateO rder xl24HourClock

xlN onE ngli shFunct ions x lM e tric

xlC urrencySpaceBefore xlC urrencyB efore

xlC urrencyM inusSign

x lC u rre n c y T ra ilin g Z e ro s

xlC urrencyLeadingZeros

Продолжение табл. 26.3

Что определяет

Символ, который используется для разделения столбцов в массивах символов

Символ, который используется для разделения строк в мас­ сивах символов

Символ, который используется в качестве альтернативного разделителя массивов, если текущий разделитель применен в качестве разделителя десятичной части

Разделитель даты (/) Разделитель времени (:) Символ года в формате числа (у) Символ месяца (ш)

Символ дня (d) Символ часа (h) Символ минуты (ш) Символ секунды (s) Символ валюты

Название основного формата числа Количество десятичных чисел, которые отображаются в фор­ мате валюты

Значение, которое отображает формат валюты для отрица­ тельных значений

Количество десятичных чисел, которые используются в обыч­ ных числах

Всегда возвращает три символа для обеспечения обратной совместимости; аббревиатуры месяцев предоставляются Microsoft Windows и могут быть любой длины

Всегда возвращает три символа для обеспечения обратной совместимости; аббревиатуры дней недели предоставляются Microsoft Windows и могут быть любой длины

Целое число, которое отображает порядок элементов в дате True, если в системе используется 24-часовая система; False, если в системе используется 12-часовая система True, если система не отображает функции на английском языке True, если используется метрическая система; False, если используется британская система измерения

True, если перед символом валюты добавляется пробел True, если символ валюты добавляется до значения; False — в противном случае

True, если для представления отрицательного денежного значения используется знак минус; False — если для этого применяются скобки

True, если в нулевых денежных значениях применяются нули, добавленные в конце

True, если в нулевых денежных значениях применяются нули, добавленные в начале