
- •Теоретична довідка до пр №23
- •Код макросів та його редагування
- •Теоретична довідка до пр №24 Середовище vba
- •Процедура типу Sub і процедура типу Function
- •Теоретична довідка до пр №25-26 Об’єктна структура мови vba
- •Загальні принципи побудови vba-програм
- •Основні елементи мови програмування Visual Basic For Application (vba)
- •Стандартні математичні функції
- •Оператор введення InputBox
- •Оператор виведення MsgBox
- •Оператор виведення даних Print
- •Теоретична довідка до пр №27 Оператори управління обчислювальним процесом
- •Оператор вибору Select Case
- •Об’єкти vbа у середовищі ms Excel
- •Теоретична довідка до пр №28-29 Оператори циклів
- •Приклади програм з використанням об’єктів ms Excel у циклічних обчислювальних процесах:
- •Теоретична довідка до пр №30-31 Використання масивів та матриць
- •Теоретична довідка до пр №32 Рядкові величини
- •Теоретична довідка до Практичної роботи №32-33 Властивості екранної форми та елементів управління
- •Основні методи та події об’єктів vba
- •Створення процедур опрацювання подій
Теоретична довідка до пр №32 Рядкові величини
Для зберігання рядкових величин у мові VBA використовується тип даних String. Текстові дані у мовах програмування прийнято називати рядками. Значення рядкових величин завжди записують у лапках (" "). Приклад оголошення рядкових величин та присвоєння їм значень:
Dim s As String
s = "Це рядок з 22 символів"
Функції для роботи з рядковими величинами
Функція |
Призначення |
Приклад |
Ucase |
Переводить усі символи рядка у верхній регістр |
Ucase ("Ivanenko") =IVANENKO |
Lease |
Переводить усі символи рядка в нижній регістр |
Lease ("Ivanenko") =ivanenko |
Len |
Визначає довжину рядка |
Len ("Ivanenko") = 8 |
LTrim RTrim Trim |
Видаляє пропуски на початку рядка Видаляє пропуски в кінці рядка Видаляє пропуски з обох боків рядка |
|
Right |
Повертає задане число символів, починаючи від кінця рядка |
Right ("Ivanenko", 2) = “ko" |
Left |
Повертає задане число символів, починаючи від початку рядка |
Left ("Ivanenko", 4) = "Ivan" |
Mid |
Повертає задане число символів, починаючи від указаної позиції |
Mid ("Ivanenko", 2, 3) = "van" |
String |
Повторює вказаний символ установлену кількість разів |
String (4, "$") = $$$$ |
Asс |
Повертає ASCII-код для вказаного символу |
Asс(„R”) = 82 |
Chr |
Повертає символ для вказаного ASCII-коду |
Chr(114) = r |
Str( Х ) |
Перетворює числове значення Х на рядкову величину |
|
Val( Х ) |
Перетворює рядкову величину Х на числове значення |
Функції Str та Val
Функція Val () перетворює рядкову величину у число, якщо рядок містить цифрові символи. Якщо перший символ не цифра, то функція Val повертає значення 0.
Приклад застосування функцій Str та Val
У вікні Immediate задати дві рядкові величини ата b наступного виду:
а="10"
b="12"
При додаванні цих двох рядків одержують рядок
"1012"
Якщо додати дві рядкові величини, попередньо перетворивши їх у числа та надрукувати за допомогою команди
Print Val (а) + Val (b)
то одержимо число 22 (рис. 16):
Рис. 16. Результат застосування функції Val
Приклад застосування функцій, що видаляють пропуски у рядку:
c= " Видалення пропусків "
Print LTrim(c) ' Повертає "Видалення пропусків "
Print RTrim(c) ' Повертає " Видалення пропусків"
Print Trim(c) ' Возвращает "Видалення пропусків"
Виділення підрядка
Функції Left и Right виділяють у символьному рядку підрядок визначеної довжини, починаючи з крайнього лівого або крайнього правого символу, а функція Mid дозволяє вибрати будь-який підрядок.
Синтаксис функцій:
Left(вираз, кількістьСимволів)
Right(вираз, кількістьСимволів)
Mid(вираз, номерПозиції [, кількістьСимволів])
Приклади використання цих функцій та їх значення:
c= "Виділення підрядка"
Print Left(c,3) ' Повертає "Вид"
Print Right (c, 5) ' Повертає "рядка"
Print Mid (c, 11,3) ' Повертає "під"
Перетворення рядків
Функції UCase() і LCase() використовуються у Visual Basic для перетворення малих букв у великі і великих у малі. Крім цього є функція StrConv, яка перетворює вираз у власне ім’я, що починається з великої букви. Т.я. функції UCase () та LCase () повертають значення типу Variant, тому щоб результат мав тип string, необхідно використовувати функції UCase$ () і Lcase$ ().
Синтаксис функцій:
UCase (символьний рядок)
LCase(символьний рядок)
Приклади використання цих функцій та їх значення:
1) c = "друк"
Print UCase(c) ' Повертає "ДРУК"
Print UCase$(c) ' Повертає "ДРУК"
2) c= "ДРУК"
Print LCase(c) ' Повертає "друк"
3) c = "Іванов іван іванович"
Print StrConv(c,vbProperCase) ' Повертає "Іванов Іван Іванович"
4) c = "ІВАНОВ ІВАН ІВАНОВИЧ"
Print StrConv(c, vbProperCase) ' Повертає "Іванов Іван Іванович"
Визначення положения рядка у другому рядку
Visual Basic має дві функції, що здійснюють пошук символьного рядка в іншому рядку: inStr() та inStrRev(). Функція inStr() здійснює пошук від початку рядка до його кінця, а InStrRev() здійснює пошук в протилежному напрямку, тобто від кінця до початку.
Функція inStr () має синтаксис:
InStr (ЗаданийРядок, рядокПошуку)
В результаті пошуку функція повертає номер позиції першого входження шуканого рядка.
Приклад:
Print InStr ("Сьогодні гарна погода", "погода") ‘Повертає “16”
Об’єднання рядків
У Visual Basic для роботи з рядками використовується тільки один оператор — оператор об’єднання. За допомогою даного оператора можна об’єднати кілька рядків в один. Цей оператор позначається символом амперсанда (&) або символом "плюс" (+).