В этой статье мы рассмотрим кратко строковые функции VBA языка, которые используются для форматирования строк, а также позволяют изменять регистр символов, выводить строковые значения по их коду и так далее.
VBA функции работы со строками
ASC(строковое значение) – применяется для получения числового ASCII кода заданного символа. В качестве параметра можно передать как целую строку (проверка произойдет для первого символа в строке), так и один символ или пробел.
Chr(код символа) – работает в обратном порядке по сравнению с предыдущей функцией. В качестве параметра мы передаем ASCII код, а на выходе получаем символ по заданному коду. Данная строковая VBA функция актуальна в тех случаях, когда нужно вывести служебный символ, например, кавычки, хотя чаще, используются именованные VBA константы.
InStr(строка1, строка2, [старт]) – предназначена для поиска последовательности знаков (строка2) в заданной строке (строка1). Можно также задать начальную позицию для поиска вхождения (необязательный параметр “старт”).
InStrRev(строка1, строка2, [старт]) – аналог предыдущей функции, но поиск происходит в обратном порядке.
Left(строка, длина) – позволяет вернуть заданное количество знаков (параметр “длина”) для выбранной строки (параметр “ строка ”), начиная слева.
Right(строка, длина) – позволяет вернуть заданное количество знаков для выбранной строки, начиная справа.
Mid (строка, длина, старт) – позволяет вернуть заданное количество знаков (параметр “длина”) для выбранной строки, начиная с заданной позиции (параметр “старт”).
Len(строка) – определяет численное количество символов в строке.
LCase(строка) – предназначена для преобразования всех символов в переданной строке в нижний регистр.
UCase(строка) – предназначена для преобразования всех символов в переданной строке в верхний регистр.
LSet(строка, длина) – заполняет содержимое переменной символами из другой переменной начиная слева, длина не изменяется, лишние знаки будут обрезаны, а вместо недостающих, будут подставляться пробелы.
RSet(строка, длина) – логика работы та же, что и для предыдущей vba функции работы со строками, но процесс происходит справа.
LTrim(строка) – удалить пробелы слева в строке
RTrim(строка) – удалить пробелы справа в строке
Trim(строка) – удалить пробелы справа и слева в строке
Replace() – замена в строке одних символов на другие
Space(количество_пробелов) – формирование строки из заданного количества пробелов
String(количество, символ) – формирование строки из заданного количества прописанных символов
Spc() – применяется для формирования вывода данных в консольном окне командной строки. Происходит размножение пробелов, учитывая ширину командной строки.
StrComp(строка1, строка2) – сравнение двух строк, вернет 0 при равенстве, и -1 в противном случае.
StrConv(строка, метод, [LCID]) – данная функция vba является универсальной, так как позволяет преобразовать заданную строку в различные вариации (верхний и нижний регистр, кодировка, перевод байт).
- Строка – собственно, строковое значение, над которым нужно провести преобразование.
- Метод – задает метод преобразования, данный параметр может принимать следующие значения:
- vbUpperCase – перевод в верхний регистр, значение 1
- vbLowerCase – перевод в нижний регистр, значение 2
- vbPropperCase – перевод первых символов всех слов в верхний регистр, а остальные символы – в нижний, значение 3.
- vbWide – применяется для кодировки восточных языков. Перевод символов в один байт с двухбайтовых. Значение 4.
- vbNarrow – аналог предыдущему параметру, но тут происходит перевод двух байт в один, значение 8.
- vbKatakana – происходит преобразование символов алфавита Хирагана в символы для алфавита Катана, применим для японского языка, значение 16.
- vbHiragana – аналог предыдущего параметра, но тут происходит преобразования вида Катана в Хирагана, значение 32. VBA строковые функции
- vbUnicode – перевод заданной строки в Unicode кодировку, значение 64.
- vbFormatUnicode – перевод из кодировки Unicode в стандартную, значение 128.
- LCID – параметр не является обязательным, (vba строковые функции) он задает идентификатор региональных настроек. По умолчанию значение LocaleId, то есть, то значение, что установлено в панели управления.
StrReverse(строка) – инвертировать расположение знаков в строке, проще говоря, “отзеркаливает”.
Tab() – позволяет размножить символы табуляции в заданном количестве. Помимо этого, для вставки табуляции применяется именованная константа vbTab.
Аналогичные VBA строковые функции используются и в языке VBScript сервера сценариев Windows Script Host.