Региональные настройки vba excel
Region and Language
If your application is going to be used in more than one country or the interface has to be presented in more than one language, then you will need to become familiar with the Windows Regional Settings and the Language Packs.
Any bugs that are related to international issues may not appear on your development machine.
You always want to write locale-independent code if possible.
Users Locale
The combination of a user's Regional Settings and their Excel settings is called the user's locale.
Windows Regional Settings
Regional settings can be accessed from the Control Panel. This is often abbreviated to WRS
Windows 10 - Settings, Region
Windows 8.1 - Settings, Region
Windows 7 - Region and Language, Formats tab, Additional Settings
Windows XP - Regional and Language Options, Regional Options, Customize
What is defined on this dialog box?
Day names used for long-date format displayed in Excel
Month names used for long-date format displayed in Excel
Day names returned from the VBA Format function
Month names returned from the VBA Format function
Month names that are recognised by the VBA CDate Function
Month names that are recognised when typing directly into Excel cells.
The number format returned when the Excel TEXT function is used
The language of any implicit boolean conversions to string (eg "=my value is " & true)
SS - Numbers
Decimal symbol - This is a full stop in most countries (UK, US) however there are some countries that use a comma. (France)
Digit grouping symbol - Commonly referred to as the thousand operator. This is a comma in most countries (UK, US) however there are some countries that use a full stop. (Greece)
SS - Date
Short Date - This often causes the most problems. UK is dd/mm/yyyy. US is M/d/yyyy
The separator can also be different and there are some countries that use a full stop instead of forward slash. (Norway)
Long Date -
All the settings from your Windows Regional Settings and Language options can be found in the Application.International property.
The following is a list of common xlApplicationInternational constants:
xlCountryCode - the language version of Office
xlCountrySettings - windows regional settings location
xlDateOrder - the choice of MDY, DMY or TMD order to display dates.
xlYearCode -
xlMonthCode -
xlDayCode -
There is no constant to identify which language version of windows in installed (but you can use an API).
Excel Settings
On the Advanced tab under Editing Options you have the ability to override the decimal and thousand separators.
SS
These can also be modified in code using the following:
Implicit Conversion
When converting numbers to strings, VBA uses the number formatting according to the WRS
When converting dates to strings, VBA uses the WRS "ShortDate" format.
Your code cannot assume you always have a US or UK formatted string.
When formatting dates, times or numbers, VBA uses the WRS formatting
When checking for True or False, the text used corresponds to the WRS language
Caution must be taken if a function has the ability to return different data types
Date Literals
3 Feb since the format used/assumed is always mm/dd/yyyy
If you enter the date in UK date format "dd/mm/yyyy" VBA will "sometimes" automatically swap the day and month around
Returns information about the current country/region and international settings. Read-only Variant.
Syntax
expression.International (Index)
expression A variable that represents an Application object.
Parameters
Name | Required/Optional | Data type | Description |
---|---|---|---|
Index | Optional | Variant | The setting to be returned. Can be one of the XlApplicationInternational constants listed in the tables in the Remarks section. |
Remarks
Brackets and braces
Index | Type | Description |
---|---|---|
xlLeftBrace | String | Character used instead of the left brace ( < ) in array literals. |
xlLeftBracket | String | Character used instead of the left bracket ( [ ) in R1C1-style relative references. |
xlLowerCaseColumnLetter | String | Lowercase column letter. |
xlLowerCaseRowLetter | String | Lowercase row letter. |
xlRightBrace | String | Character used instead of the right brace ( > ) in array literals. |
xlRightBracket | String | Character used instead of the right bracket ( ] ) in R1C1-style references. |
xlUpperCaseColumnLetter | String | Uppercase column letter. |
xlUpperCaseRowLetter | String | Uppercase row letter (for R1C1-style references). |
Country/Region settings
Index | Type | Description |
---|---|---|
xlCountryCode | Long | Country/region version of Microsoft Excel. |
xlCountrySetting | Long | Current country/region setting in the Windows Control Panel. |
xlGeneralFormatName | String | Name of the General number format. |
Currency
Index | Type | Description |
---|---|---|
xlCurrencyBefore | Boolean | True if the currency symbol precedes the currency values; False if it follows them. |
xlCurrencyCode | String | Currency symbol. |
xlCurrencyDigits | Long | Number of decimal digits to be used in currency formats. |
xlCurrencyLeadingZeros | Boolean | True if leading zeros are displayed for zero currency values. |
xlCurrencyMinusSign | Boolean | True if you are using a minus sign for negative numbers; False if you are using parentheses. |
xlCurrencyNegative | Long | Currency format for negative currency values: 0 = (symbolx) or (xsymbol) , 1 = -symbolx or -xsymbol , 2 = symbol-x or x-symbol , or 3 = symbolx- or xsymbol- , where symbol is the currency symbol of the country or region. |
Date and time
Index | Type | Description |
---|---|---|
xl24HourClock | Boolean | True if you are using 24-hour time; False if you are using 12-hour time. |
xl4DigitYears | Boolean | True if you are using four-digit years; False if you are using two-digit years. |
xlDateOrder | Long | Order of date elements: 0 = month-day-year , 1 = day-month-year , 2 = year-month-day |
xlDateSeparator | String | Date separator ( / ). |
xlDayCode | String | Day symbol (d). |
xlDayLeadingZero | Boolean | True if a leading zero is displayed in days. |
xlHourCode | String | Hour symbol (h). |
xlMDY | Boolean | True if the date order is month-day-year for dates displayed in the long form; False if the date order is day-month-year. |
xlMinuteCode | String | Minute symbol (m). |
xlMonthCode | String | Month symbol (m). |
xlMonthLeadingZero | Boolean | True if a leading zero is displayed in months (when months are displayed as numbers). |
xlMonthNameChars | Long | Always returns three characters for backward compatibility. Abbreviated month names are read from Windows and can be any length. |
xlSecondCode | String | Second symbol (s). |
xlTimeSeparator | String | Time separator ( : ). |
xlTimeLeadingZero | Boolean | True if a leading zero is displayed in times. |
xlWeekdayNameChars | Long | Always returns three characters for backward compatibility. Abbreviated weekday names are read from Windows and can be any length. |
xlYearCode | String | Year symbol in number formats (y). |
Measurement systems
Index | Type | Description |
---|---|---|
xlMetric | Boolean | True if you are using the metric system; False if you are using the English measurement system. |
xlNonEnglishFunctions | Boolean | True if you are not displaying functions in English. |
Separators
Index | Type | Description |
---|---|---|
xlAlternateArraySeparator | String | Alternate array item separator to be used if the current array separator is the same as the decimal separator. |
xlColumnSeparator | String | Character used to separate columns in array literals. |
xlDecimalSeparator | String | Decimal separator. |
xlListSeparator | String | List separator. |
xlRowSeparator | String | Character used to separate rows in array literals. |
xlThousandsSeparator | String | Zero or thousands separator. |
Symbols, separators, and currency formats shown in the preceding table may differ from those used in your language or geographic location and may not be available to you, depending on the language support (U.S. English, for example) that you have selected or installed.
Example
This example displays the international decimal separator.
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Возвращает сведения о текущей стране,регионе и международных параметрах. Только для чтения, Variant.
Синтаксис
выражения. International (Index)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Индекс; | Необязательный | Variant | Параметр, который будет возвращен. Может быть одной из констант XlApplicationInternational , перечисленных в таблицах в разделе Замечания. |
Примечания
Скобки и скобки
Index | Тип | Описание |
---|---|---|
xlLeftBrace | String | Символ, используемый вместо левой скобки ( < ) в литрах массива. |
xlLeftBracket | String | Символ, используемый вместо левой скобки ( [ ) в относительных ссылках в стиле R1C1. |
xlLowerCaseColumnLetter | String | Письмо столбца Lowercase. |
xlLowerCaseRowLetter | String | Письмо строки lowercase. |
xlRightBrace | String | Символ, используемый вместо правой скобки ( > ) в литрах массива. |
xlRightBracket | String | Символ, используемый вместо правой скобки ( ] ) в ссылках в стиле R1C1. |
xlUpperCaseColumnLetter | String | Письмо столбца Uppercase. |
xlUpperCaseRowLetter | String | Буква uppercase row (для ссылок в стиле R1C1). |
Параметры страна/регион
Index | Тип | Описание |
---|---|---|
xlCountryCode | Long | Страна/регион версии Microsoft Excel. |
xlCountrySetting | Long | Текущий параметр страны или региона в панели Windows управления. |
xlGeneralFormatName | String | Имя формата Общего номера. |
Валюта
Index | Тип | Описание |
---|---|---|
xlCurrencyBefore | Логический | Значение True , если символ валюты предшествует значениям валюты; False , если оно следует за ними. |
xlCurrencyCode | String | Символ валюты. |
xlCurrencyDigits | Long | Количество десятичных цифр, используемых в форматах валюты. |
xlCurrencyLeadingZeros | Логический | Значение True , если для значений нулевой валюты отображаются ведущие нули. |
xlCurrencyMinusSign | Логический | True , если вы используете знак минус для отрицательных номеров; False , если вы используете скобки. |
xlCurrencyNegative | Long | Формат валюты для отрицательных значений валюты: 0 = (symbolx) or (xsymbol) , 1 = -symbolx or -xsymbol , 2 = symbol-x or x-symbol или 3 = symbolx- or xsymbol- , где символ валюты символ страны или региона. |
дата и время;
Index | Тип | Описание |
---|---|---|
xl24HourClock | Логический | True , если вы используете 24-часовой период; False , если вы используете 12-часовой период. |
xl4DigitYears | Логический | True , если вы используете четырехзначные годы; False , если вы используете двухзначные годы. |
xlDateOrder | Long | Порядок элементов даты: 0 = month-day-year , 1 = day-month-year``2 = year-month-day |
xlDateSeparator | String | Сепаратор даты ( / ). |
xlDayCode | String | Символ дня (d). |
xlDayLeadingZero | Логический | Значение True , если в течение нескольких дней отображается ведущее значение нуля. |
xlHourCode | String | Символ часа (h). |
xlMDY | Логический | True , если для дат, отображаемых в длинной форме, порядок дат составляет месяц-день. False , если порядок даты является день-месяц-год. |
xlMinuteCode | String | Символ minute (m). |
xlMonthCode | String | Символ месяца (m). |
xlMonthLeadingZero | Логический | True , если ведущий ноль отображается в месяцах (когда месяцы отображаются в качестве чисел). |
xlMonthNameChars | Long | Всегда возвращает три символа для обратной совместимости. Сокращенные имена месяцев читают из Windows и могут быть любой длины. |
xlSecondCode | String | Второй символ (s). |
xlTimeSeparator | String | Сепаратор времени ( : ). |
xlTimeLeadingZero | Логический | True , если ведущий ноль отображается в разы. |
xlWeekdayNameChars | Long | Всегда возвращает три символа для обратной совместимости. Сокращенные имена будни читают с Windows и могут быть любой длины. |
xlYearCode | String | Символ года в форматах номеров (y). |
Системы измерения
Index | Тип | Описание |
---|---|---|
xlMetric | Логический | True , если вы используете метрическую систему; False , если вы используете английскую систему измерений. |
xlNonEnglishFunctions | Логический | True , если вы не отображает функции на английском языке. |
Сепараторы
Index | Тип | Описание |
---|---|---|
xlAlternateArraySeparator | String | Альтернативный сепаратор элементов массива, который будет использоваться, если текущий сепаратор массива то же самое, что и десятичной сепаратор. |
xlColumnSeparator | String | Символ, используемый для раздельного столбца в литрах массива. |
xlDecimalSeparator | String | Десятичной сепаратор. |
xlListSeparator | String | Сепаратор списка. |
xlRowSeparator | String | Символ, используемый для разделять строки в литрах массива. |
xlThousandsSeparator | String | Нулевой или тысячный сепаратор. |
Символы, разделиторы и форматы валют, показанные в предыдущей таблице, могут отличаться от используемых на вашем языке или географическом расположении и могут быть недоступны для вас, в зависимости от языковой поддержки (например, английского языка США), выбранной или установленной.
Пример
В этом примере отображается международный десятичной сепаратор.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.
Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых нужных нам действий, которые нам не хочется выполнять вручную.
Способ 1. Создание макросов в редакторе Visual Basic
Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.
- В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic(Toos - Macro - Visual Basic Editor).
- В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer) . Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer) . Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic(Visual Basic Editor)
:
К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:
Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:
-
Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:
Обычный макрос, введенный в стандартный модуль выглядит примерно так:
Давайте разберем приведенный выше в качестве примера макрос Zamena:
С ходу ясно, что вот так сразу, без предварительной подготовки и опыта в программировании вообще и на VBA в частности, сложновато будет сообразить какие именно команды и как надо вводить, чтобы макрос автоматически выполнял все действия, которые, например, Вы делаете для создания еженедельного отчета для руководства компании. Поэтому мы переходим ко второму способу создания макросов, а именно.
Способ 2. Запись макросов макрорекордером
Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:
- Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
- Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
- Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.
Чтобы включить запись необходимо:
- в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись(Tools - Macro - Record New Macro)
- в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)
Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:
- Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
- Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить(Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
- Сохранить в. - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
- Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
- Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
- Личная книга макросов - это специальная книга Excel с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.
После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording) .
Запуск и редактирование макросов
Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros) :
- Любой выделенный в списке макрос можно запустить кнопкой Выполнить(Run) .
- Кнопка Параметры(Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
- Кнопка Изменить(Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.
Создание кнопки для запуска макросов
Чтобы не запоминать сочетание клавиш для запуска макроса, лучше создать кнопку и назначить ей нужный макрос. Кнопка может быть нескольких типов:
Кнопка на панели инструментов в Excel 2003 и старше
Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands) . В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button) :
Перетащите ее к себе на панель инструментов и затем щелкните по ней правой кнопкой мыши. В контекстом меню можно назначить кнопке макрос, выбрать другой значок и имя:
Кнопка на панели быстрого доступа в Excel 2007 и новее
Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar) :
Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:
Кнопка на листе
Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:
- В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
- В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer)
Выберите объект Кнопка (Button) :
Затем нарисуйте кнопку на листе, удерживая левую кнопку мыши. Автоматически появится окно, где нужно выбрать макрос, который должен запускаться при щелчке по нарисованной кнопке.
Создание пользовательских функций на VBA
Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).
Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:
Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined) :
После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:
на этой странице справки обсуждается, как Visual Basic использует сведения о языке и региональных параметрах для преобразования строк и сравнения.
Использование строк Culture-Specific
Как правило, следует использовать строки, зависящие от языка и региональных параметров, для всех данных, представленных и считываемых пользователями, и использовать строки инвариантных языка и региональных параметров для внутренних данных приложения.
Например, если приложение запрашивает у пользователей ввод даты в виде строки, оно должно предполагать, что пользователи будут форматировать строки в соответствии с их культурой, и приложение должно соответствующим образом преобразовать строку. Если приложение затем представляет эту дату в пользовательском интерфейсе, оно должно быть представлено в культуре пользователя.
Однако если приложение передает дату на центральный сервер, то она должна отформатировать строку в соответствии с одной конкретной культурой, чтобы предотвратить путаницу между потенциально разными форматами даты.
Функции Culture-Sensitive
все функции преобразования строк Visual Basic (за исключением Str функций и Val ) используют сведения о языке и региональных параметрах приложения, чтобы гарантировать, что преобразования и сравнения подходят для языка и региональных параметров пользователя приложения.
Ключом к успешному использованию функций преобразования строк в приложениях, работающих на компьютерах с различными параметрами языка и региональных параметров, является понимание того, какие функции используют конкретный параметр языка и региональных параметров, и используется текущий параметр языка и региональных параметров. Обратите внимание, что параметры языка и региональных параметров приложения по умолчанию унаследованы от региональных параметров операционной системы. Дополнительные сведения см. в разделе Asc , ChrAscW ,, ChrW , HexFormatOct ,, и функциях преобразования типов.
Str Функция (преобразует числа в строки) и Val (преобразует строки в числа) не использует сведения о языке и региональных параметрах приложения при преобразовании между строками и числами. Вместо этого они распознают только точку (.) в качестве допустимого десятичного разделителя. Аналогами этих функций, учитывающими культурные особенности, являются:
Преобразования, использующие текущий язык и региональные параметры. CStr Функции и Format преобразуют число в строку, а CDbl функции и CInt преобразуют строку в число.
Преобразования, использующие конкретный язык и региональные параметры. Каждый объект Number имеет ToString(IFormatProvider) метод, который преобразует число в строку и Parse(String, IFormatProvider) метод, который преобразует строку в число. Например, Double тип предоставляет ToString(IFormatProvider) методы и Parse(String, IFormatProvider) .
Дополнительные сведения см. в разделах Str и Val.
Использование определенного языка и региональных параметров
Imagine, что вы разрабатываете приложение, которое отправляет в веб-службу дату (в формате строки). В этом случае приложение должно использовать определенную культуру для преобразования строк. Чтобы проиллюстрировать причину, рассмотрим результат использования метода даты ToString() : Если приложение использует этот метод для форматирования даты 4 июля 2005, то при запуске с использованием языка и региональных параметров США English (EN-US) он возвращает "7/4/2005 12:00:00 AM", но при запуске с использованием немецкого языка (de-de) он возвращает "04.07.2005 00:00:00".
Кроме того, можно получить экземпляр инвариантного языка и региональных параметров из CultureInfo.InvariantCulture Свойства. Инвариантный язык и региональные параметры основаны на английской культуре, но есть некоторые различия. Например, инвариантный язык и региональные параметры задают 24-часовой формат времени вместо 12-часового.
Чтобы преобразовать дату в строку языка и региональных параметров, передайте CultureInfo объект в метод объекта ToString(IFormatProvider) Date. Например, следующий код отображает "07/04/2005 00:00:00", независимо от настроек языка и региональных параметров приложения.
Литералы даты всегда обрабатываются в соответствии с языком и региональными параметрами английского языка.
Сравнение строк
Существуют две важные ситуации, в которых требуется сравнение строк:
Сортировка данных для просмотра пользователю. Используйте операции на основе текущего языка и региональных параметров, чтобы строки были отсортированы соответствующим образом.
Определение точного совпадения двух внутренних строк приложения (обычно в целях безопасности). Используйте операции, которые не учитывают текущий язык и региональные параметры.
оба типа сравнений можно выполнять с помощью функции Visual Basic StrComp . Укажите необязательный Compare аргумент для управления типом сравнения: Text для большинства входных и выходных данных Binary для определения точных совпадений.
StrComp Функция возвращает целое число, указывающее связь между двумя сравниваемыми строками на основе порядка сортировки. Положительное значение для результата указывает, что первая строка больше, чем вторая строка. Отрицательный результат указывает, что первая строка меньше, а нулевое значение указывает на равенство между строками.
Соображения безопасности
Читайте также: