Урок 14 по VBA — функции работы со строками

Урок 14 по VBA — функции работы со строками Макросы на VBA

В этой статье мы рассмотрим кратко строковые функции 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 является универсальной, так как позволяет преобразовать заданную строку в различные вариации (верхний и нижний регистр, кодировка, перевод байт).

  • Строка – собственно, строковое значение, над которым нужно провести преобразование.
  • Метод – задает метод преобразования, данный параметр может принимать следующие значения:
  1. vbUpperCase – перевод в верхний регистр, значение 1
  2. vbLowerCase – перевод в нижний регистр, значение 2
  3. vbPropperCase – перевод первых символов всех слов в верхний регистр, а остальные символы – в нижний, значение 3.
  4. vbWide – применяется для кодировки восточных языков. Перевод символов в один байт с двухбайтовых. Значение 4.
  5. vbNarrow – аналог предыдущему параметру, но тут происходит перевод двух байт в один, значение 8.
  6. vbKatakana – происходит преобразование символов алфавита Хирагана в символы для алфавита Катана, применим для японского языка, значение 16.
  7. vbHiragana – аналог предыдущего параметра, но тут происходит преобразования вида Катана в Хирагана, значение 32. VBA строковые функции
  8. vbUnicode – перевод заданной строки в Unicode кодировку, значение 64.
  9. vbFormatUnicode – перевод из кодировки Unicode в стандартную, значение 128.
  • LCID – параметр не является обязательным, (vba строковые функции) он задает идентификатор региональных настроек. По умолчанию значение LocaleId, то есть, то значение, что установлено в панели управления.

StrReverse(строка) – инвертировать расположение знаков в строке, проще говоря, “отзеркаливает”.

Tab() – позволяет размножить символы табуляции в заданном количестве. Помимо этого, для вставки табуляции применяется именованная константа vbTab.

Аналогичные VBA строковые функции используются и в языке VBScript сервера сценариев Windows Script Host.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий