Лабораторная работа №6
Работа с символьными данными
Цель: Освоить работу со строковыми данными в среде VBA.
Данные строкового типа имеют переменную длину и могут удлиняться или укорачиваться. Однако такие строки занимают на 10 байт памяти больше, поэтому можно объявить строки фиксированной длины, явно указав количество символов.
Dim s as String*20
Если количество символов будет меньше объявленного, то свободные места заполняются пробелами, при попытке занесения большего количества символов лишние отбрасываются.
Операции и функции для работы с символьными данными
Единственная операция, применяемая при работе со строками – конкатенация(сцепление строк). Однако, встроенных функций для работы достаточно много:
Действие | Ключевые слова |
Сравнение двух строк. | StrComp |
Преобразование строк. | StrConv |
Изменение регистра. | Lcase, UCase |
Создание строк, содержащих повторяющиеся символы. | Space, String |
Определение длины строки. | Len |
Форматирование строки. | Format |
Выравнивание строки. | Lset, RSet |
Обработка строк. | InStr, Left, LTrim, Mid, Right, RTrim, Trim |
Выбор типа сравнения строк. | Option Compare |
Работа с кодами ASCII и ANSI. | Asc, Chr |
1.Сравнение двух строк.
|
|
Функция StrComp возвращает значение типа Variant (Integer), представляющее результат сравнения строк.
StrComp(string1, string2[, compare])
Синтаксис функции StrComp содержит следующие аргументы:
string1 - Обязательный. Любое допустимое строковое выражение.
string2 - Обязательный. Любое допустимое строковое выражение.
compare - Необязательный. Указывает способ сравнения строк. Аргумент compare может быть опущен или иметь значение 0, 1. Чтобы выполнить двоичное сравнение, следует указать 0. Чтобы выполнить посимвольное сравнение без учета регистра, следует указать 1. Если аргумент compare опущен, способ сравнения строк определяется значением параметра инструкции Option Compare.
Возвращаемые значения
string1 меньше чем string2 -1
string1 равняется string2 0
string1 больше чем string2 1
Пример 1:
Создайте лист «ЛР6», наберите в окне редактора VBA текст макроса.