В этой статье разберем работу со строками в VBA на примерах функций InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.
Строки - это последовательность символов, которая может состоять либо из алфавитов, цифр, специальных символов, либо из всех них. Переменная называется строкой, если она заключена в двойные кавычки "".
Содержание:
- Синтаксис
- Примеры
- Строковые функции
- Название функции и описание
- InStr
- Синтаксис
- Параметр Описание
- пример
- Синтаксис
- Параметр Описание
- пример
- LCASE
- Синтаксис
- пример
- UCase
- Синтаксис
- пример
- Left
- Синтаксис
- Параметр Описание
- пример
- Right
- Синтаксис
- Параметр Описание
- пример
- Mid
- Синтаксис
- Параметр Описание
- LTrim
- Синтаксис
- пример
- RTrim
- Синтаксис
- пример
- Trim
- Синтаксис
- пример
- Len
- Синтаксис
- пример
- Replace
- Синтаксис
- Параметр Описание
- пример
- Space
- Синтаксис
- Параметр Описание
- пример
- StrComp
- Синтаксис
- Параметр Описание
- пример
- String
- Синтаксис
- Параметр Описание
- пример
- StrReverse
- Синтаксис
- пример
Синтаксис
variablename = "string"Примеры
str1 = "string" ' Only Alphabets str2 = "132.45" ' Only Numbers str3 = "!@#$;*" ' Only Special Characters Str4 = "Asc23@#" ' Has all the above
Строковые функции
Существуют предопределенные функции VBA String, которые помогают разработчикам эффективно работать со строками. Ниже приведены методы String, поддерживаемые в VBA. Пожалуйста, нажмите на каждый из методов, чтобы знать подробно.
Название функции и описание
InStr
Функция InStr возвращает первое вхождение одной строки в другую строку. Поиск происходит слева направо.
Синтаксис
InStr([start,]string1,string2[,compare])
Параметр Описание
- Пуск - необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции слева направо.
- String1 - требуемый параметр. Строка для поиска.
- String2 - требуемый параметр. Строка, по которой выполняется поиск String1.
- Compare - Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare - выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare - выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim Var As Variant
Var = "Microsoft VBScript"
MsgBox ("Line 1 : " & InStr(1, Var, "s"))
MsgBox ("Line 2 : " & InStr(7, Var, "s"))
MsgBox ("Line 3 : " & InStr(1, Var, "f", 1))
MsgBox ("Line 4 : " & InStr(1, Var, "t", 0))
MsgBox ("Line 5 : " & InStr(1, Var, "i"))
MsgBox ("Line 6 : " & InStr(7, Var, "i"))
MsgBox ("Line 7 : " & InStr(Var, "VB"))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : 6Line 2 : 0Line 3 : 8Line 4 : 9Line 5 : 2Line 6 : 16Line 7 : 11Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.
InStrRevФункция InStrRev возвращает первое вхождение одной строки в другую строку. Поиск происходит справа налево.
Синтаксис
InStrRev(string1,string2[,start,[compare]])
Параметр Описание
- String1 - требуемый параметр. Строка для поиска.
- String2 - требуемый параметр. Строка, по которой выполняется поиск String1.
- Пуск - необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции справа налево.
- Compare - Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare - выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare - выполняет сравнение текста
пример
Добавьте кнопку и установите следующую функцию.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & InStrRev(var,"s",10))
msgbox("Line 2 : " & InStrRev(var,"s",7))
msgbox("Line 3 : " & InStrRev(var,"f",-1,1))
msgbox("Line 4 : " & InStrRev(var,"t",5))
msgbox("Line 5 : " & InStrRev(var,"i",7))
msgbox("Line 6 : " & InStrRev(var,"i",7))
msgbox("Line 7 : " & InStrRev(var,"VB",1))
End Sub
После выполнения вышеуказанного скрипта он производит следующий результат.
Line 1 : 6Line 2 : 6Line 3 : 8Line 4 : 0Line 5 : 2Line 6 : 2Line 7 : 0 Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.
LCASE
Функция LCase возвращает строку после преобразования введенной строки в строчные буквы.
Синтаксис
Lcase(String)пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & LCase(var))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & LCase(var))
var = "microsoft"
msgbox("Line 3 : " & LCase(var))
End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : microsoft vbscriptLine 2 : ms vbscriptLine 3 : microsoftВозвращает нижний регистр указанной строки.
UCase
Функция UCase возвращает строку после преобразования введенной строки в буквы буквы UPPER.
Синтаксис
UCase(String)пример
Добавьте кнопку и поместите следующую функцию внутри нее.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & UCase(var))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & UCase(var))
var = "microsoft"
msgbox("Line 3 : " & UCase(var))
End Sub
После выполнения вышеуказанного скрипта он производит следующий вывод.
Line 1 : MICROSOFT VBSCRIPTLine 2 : MS VBSCRIPTLine 3 : MICROSOFTВозвращает верхний регистр указанной строки.
Left
Функция Left возвращает указанное количество символов с левой стороны данной входной строки.
Синтаксис
Left(String, Length)Параметр Описание
- String - обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с левой стороны.
- Длина - требуемый параметр. Целое число, определяющее количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim var as Variant
var = "Microsoft VBScript"
msgbox("Line 1 : " & Left(var,2))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & Left(var,5))
var = "microsoft"
msgbox("Line 3 : " & Left(var,9))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : MiLine 2 : MS VBLine 3 : microsoftВозвращает определенное количество символов с левой стороны строки.
Right
Функция Right возвращает указанное количество символов с правой стороны данной входной строки.
Синтаксис
Right(String, Length)Параметр Описание
- String - обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с правой стороны.
- Длина - требуемый параметр. Целое число, которое задает количество возвращаемых символов.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
msgbox("Line 1 : " & Right(var,2))
var = "MS VBSCRIPT"
msgbox("Line 2 : " & Right(var,5))
var = "microsoft"
msgbox("Line 3 : " & Right(var,9))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : ptLine 2 : CRIPTLine 3 : microsoftВозвращает определенное количество символов с правой стороны строки.
Mid
Mid функция возвращает указанное количество символов из заданной входной строки.
Синтаксис
Mid(String,start[,Length])Параметр Описание
- String - обязательный параметр. Строка ввода, из которой задано количество символов, которые нужно вернуть.
- Начало - требуемый параметр. Целое число, определяющее начальную позицию строки.
- Длина - необязательный параметр. Целое число, определяющее количество возвращаемых символов.
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim var as Variant
var = "Microsoft VBScript"
msgbox("Line 1 : " & Mid(var,2))
msgbox("Line 2 : " & Mid(var,2,5))
msgbox("Line 3 : " & Mid(var,5,7))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : icrosoft VBScriptLine 2 : icrosLine 3 : osoft VВозвращает определенное количество символов из строки на основе указанных параметров.
LTrim
Функция Ltrim удаляет пробелы с левой стороны строки.
Синтаксис
LTrim(String)пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click() Dim var as Variant var = " Microsoft VBScript" msgbox "After Ltrim : " & LTrim(var) End Sub
Когда вы выполняете функцию, она производит следующий вывод.
After Ltrim : Microsoft VBScriptВозвращает строку после удаления пробелов в левой части указанной строки.
RTrim
Функция Rtrim удаляет пробелы с правой стороны строки.
Синтаксис
RTrim(String)пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim var as Variant
var = "Microsoft VBScript "
msgbox("After Rtrim : " & RTrim(var))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After Rtrim : Microsoft VBScriptВозвращает строку после удаления пробелов в правой части указанной строки.
Trim
Функция Trim удаляет как ведущее, так и конечное пустое пространство данной входной строки.
Синтаксис
Trim(String)пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
var = "Microsoft VBScript"
var = " Microsoft VBScript "
msgbox ("After Trim : " & Trim(var))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
After trim : Microsoft VBScriptВозвращает строковое значение после удаления как верхнего, так и конечного пробелов.
Len
Функция Len возвращает длину данной входной строки, включая пробелы.
Синтаксис
Len(String)пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim var1 as Variant
Dim var2 as Variant
var1 ="Microsoft VBScript"
msgbox("Length of var1 is : " & Len(var1))
var2 = " Microsoft VBScript "
msgbox ("Length of var2 is : " & Len(var2))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Length of var1 is : 18Length of var2 is : 36Возвращает длину данной строки.
Replace
Функция Replace заменяет указанную часть строки на определенную строку, указанное количество раз.
Синтаксис
Replace(string,find,replacewith[,start[,count[,compare]]])Параметр Описание
- String - обязательный параметр. Строка ввода, которую нужно искать для замены.
- Find - требуемый параметр. Часть строки, которая будет заменена.
- Replacewith - обязательный параметр. Строка замены, которая будет заменена на параметр find.
- Start - необязательный параметр. Задает начальную позицию, из которой нужно искать и заменять строку. Значение по умолчанию - 1.
- Count - необязательный параметр. Указывает количество раз, которое должна выполняться замена.
- Compare - Необязательный параметр. Указывает метод сравнения, который будет использоваться. Значение по умолчанию - 0.
- 0 = vbBinaryCompare - выполняет двоичное сравнение
- 1 = vbTextCompare - выполняет текстовое сравнение
пример
Private Sub Constant_demo_Click()
Dim var as Variant
var = "This is VBScript Programming"
'VBScript to be replaced by MS VBScript
msgbox("Line 1: " & Replace(var,"VBScript","MS VBScript"))
'VB to be replaced by vb
msgbox("Line 2: " & Replace(var,"VB","vb"))
''is' replaced by ##
msgbox("Line 3: " & Replace(var,"is","##"))
''is' replaced by ## ignores the characters before the first occurence
msgbox("Line 4: " & Replace(var,"is","##",5))
''s' is replaced by ## for the next 2 occurences.
msgbox("Line 5: " & Replace(var,"s","##",1,2))
''r' is replaced by ## for all occurences textual comparison.
msgbox("Line 6: " & Replace(var,"r","##",1,-1,1))
''t' is replaced by ## for all occurences Binary comparison
msgbox("Line 7: " & Replace(var,"t","##",1,-1,0))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1: This is MS VBScript ProgrammingLine 2: This is vbScript ProgrammingLine 3: Th## ## VBScript ProgrammingLine 4: ## VBScript ProgrammingLine 5: Thi## i## VBScript ProgrammingLine 6: This is VBSc##ipt P##og##ammingLine 7: This is VBScrip## ProgrammingВозвращает строку после замены строки другой строкой.
Space
Функция Space заполняет строку конкретным количеством пробелов.
Синтаксис
space(number)Параметр Описание
Номер - требуемый параметр. Количество пробелов, которые мы хотим добавить к данной строке.
пример
Private Sub Constant_demo_Click() Dim var1 as Variant var1 = "Microsoft" Dim var2 as Variant var2 = "VBScript" msgbox(var1 & Space(2)& var2) End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Microsoft VBScriptЗаполняет строку указанным количеством пробелов.
StrComp
Функция StrComp возвращает целочисленное значение после сравнения двух заданных строк. Он может возвращать любое из трех значений -1, 0 или 1 на основе входных строк для сравнения.
- Если String1 меньше String2, то StrComp возвращает -1
- Если String1 равно String2, то StrComp возвращает 0
- Если String1 больше String2, то StrComp возвращает 1
Синтаксис
StrComp(string1,string2[,compare])Параметр Описание
- String1 - требуемый параметр. Первое строковое выражение.
- String2 - требуемый параметр. Второе строковое выражение.
- Compare - Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
- 0 = vbBinaryCompare - выполняет двоичное сравнение (по умолчанию)
- 1 = vbTextCompare - выполняет сравнение текста
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
Dim var1 as Variant
msgbox("Line 1 :" & StrComp("Microsoft","Microsoft"))
msgbox("Line 2 :" &StrComp("Microsoft","MICROSOFT"))
msgbox("Line 3 :" &StrComp("Microsoft","MiCrOsOfT"))
msgbox("Line 4 :" &StrComp("Microsoft","MiCrOsOfT",1))
msgbox("Line 5 :" &StrComp("Microsoft","MiCrOsOfT",0))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :0Line 2 :1Line 3 :1Line 4 :0Line 5 :1Возвращает целочисленное значение после сравнения двух указанных строк.
String
Функция String заполняет строку указанным символом для указанного количества раз.
Синтаксис
String(number,character)Параметр Описание
- Номер - требуемый параметр. Целочисленное значение, которое будет повторяться в течение определенного количества раз против параметра символа.
- Символ - требуемый параметр. Значение символа, которое должно повторяться определенное количество раз.
пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
msgbox("Line 1 :" & String(3,"$"))
msgbox("Line 2 :" & String(4,"*"))
msgbox("Line 3 :" & String(5,100))
msgbox("Line 4 :" & String(6,"ABCDE"))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 :$$$Line 2 :****Line 3 :dddddLine 4 :AAAAAAВозвращает строку с указанным символом для указанного количества раз.
StrReverse
Функция StrReverse меняет указанную строку.
Синтаксис
StrReverse(string)пример
Добавьте кнопку и добавьте следующую функцию.
Private Sub Constant_demo_Click()
msgbox("Line 1 : " & StrReverse("VBSCRIPT"))
msgbox("Line 2 : " & StrReverse("My First VBScript"))
msgbox("Line 3 : " & StrReverse("123.45"))
End Sub
Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.
Line 1 : TPIRCSBVLine 2 : tpircSBV tsriF yMLine 3 : 54.321Возвращает строку после изменения последовательности символов данной строки.
С уважением, авторы сайта Компьютерапия