Приклади використання VBA. Функції VBA для роботи з текстом Visual basic

Головна / 2 Cool Reader
  • ASC () - Ця функція дозволяє повернути числовий код для переданого символу. Наприклад, ASC("D") поверне 68. Цю функцію зручно використовувати для того, щоб визначити наступну або попередню літеру. Зазвичай вона використовується разом із функцією Chr(), яка здійснює зворотну операцію - повертає символ за переданим його числовим кодом. Варіанти цієї функції - AscB() та AscW():
    • AscB () - Повертає лише перший байт числового коду для символу.
    • AscW () - повертає код для символу у кодуванні Unicode
  • Chr () - Повертає символ за його числовим кодом. Може використовуватись у парі з функцією Asc(), але найчастіше її застосовують, коли потрібно вивести службовий символ (наприклад лапки - "), т.к. лапки просто так у VBA-коді не ввести (Потрібно ставити подвійні). Я зазвичай саме цю функцію використовую.

    Dim sWord As String sWord = Chr(34) & "Слово в лапках" & Chr(34)

    Є варіанти цієї функції. ChrB() та ChrW(). Працюють аналогічно до таких же варіантів для функції Asc().

  • InStr () і InStrRev () - Одна з найпопулярніших функцій. Дозволяє виявити в тілі рядковий змінний символ або послідовність символів та повернути їхню позицію. Якщо послідовність не виявлено, повертається 0.

    Dim sStr As String sStr = "w" If InStr(1, "Hello, World!", sStr, vbTextCompare) > 0 Then MsgBox "Шукане слово є!" Else MsgBox "Шукане слово відсутнє!" End If

    Різниця функцій у тому, що InStr() шукає вказане слово від початку рядка, а InStrRev() з кінця рядка

  • Left () , Right () , Mid () - можливість взяти вказану вами кількість символів з існуючої рядкової змінної зліва, справа або з середини відповідно.
    Dim sStr As String sStr = "Hello, World!" MsgBox Mid(sStr, 1, 5)

    Dim sStr As String sStr = "Hello, World!" MsgBox Mid(sStr, 1, 5)

  • Len () - можливість отримати кількість символів у рядку. Часто використовується із циклами, операціями заміни тощо.
  • LCase () і UCase () - перевести рядок у нижній та верхній регістри відповідно. Часто використовується для підготовки значення до порівняння, коли при порівнянні регістр не важливий (прізвища, назви фірм, міст тощо).
  • LSet () і RSet () - можливість заповнити одну змінну символами іншої без зміни її довжини (відповідно ліворуч і праворуч). Зайві символи обрізаються, на місце відсутні підставляються прогалини.
  • LTrim () , RTrim () , Trim () - можливість прибрати прогалини відповідно ліворуч, праворуч або ліворуч, і праворуч.
  • Replace () - Можливість замінити в рядку одну послідовність символів на іншу.
    Dim sStr As String sStr = "Hello, World!" MsgBox Replace(sStr, "Hello", "Bay")

    Dim sStr As String sStr = "Hello, World!" MsgBox Replace(sStr, "Hello", "Bay")

  • Space () - отримати рядок із зазначеної вами кількості прогалин;
    Ще одна схожа функція - Spc () , яка використовується для форматування виведення на консоль. Вона розмножує прогалини з урахуванням ширини командного рядка.
  • StrComp () - Можливість порівняти два рядки.
  • StrConv () - можливість перетворити рядок (У Unicode і назад, у верхній і нижній регістр, зробити першу букву слів великою і т.п.):
    Dim sStr As String sStr = "Hello, World!" MsgBox StrConv("Hello, World!", vbUpperCase)

    Dim sStr As String sStr = "Hello, World!" MsgBox StrConv("Hello, World!", vbUpperCase)

    Як другий параметр параметра можуть застосовуватися константи:

    • vbUpperCase:Перетворює все текстові символиу ВЕРХНИЙ РЕЄСТР
    • vbLowerCase:Перетворює всі текстові символи на нижній регістр
    • vbProperCase:Перекладає перший символ кожного слова у Верхній Реєстр
    • *vbWide:Перетворює символи рядка з однобайтових на двобайтові
    • *vbNarrow:Перетворює символи рядка з двобайтових на однобайтові
    • **vbKatakana:Перетворює символи Hiragana на символи Katakana
    • **vbHiragana:Перетворює символи Katakana на символи Hiragana
    • ***vbUnicode:Перетворює рядок на Юнікод за допомогою кодової сторінки системи за умовчанням
    • ***vbFromUnicode:Перетворює рядок з Юнікод на кодову сторінку системи за промовчанням
    • * застосовно для локалізацією Далекого сходу
      ** застосовується тільки для Японії
      *** не підтримується операційними системамипід керуванням Macintosh

  • StrReverse () - "перевернути" рядок, розмістивши його символи у зворотному порядку. Функція працює лише від Excel 2000 і вище. Приклад використання функції, а також інші методи перевертання слова можна переглянути в цій статті: Як перевернути слово?
  • Tab () ще одна функція, яка використовується для форматування виведення на консоль. Розмножує символи табуляції у кількості, в якій ви вкажете. Якщо не вказано жодної кількості, просто вставляє символ табуляції. Для вставлення символу табуляції в рядкове значення також можна використовувати константу vbTab.
  • String () - дозволяє отримати рядок із зазначеної кількості символів (які знову-таки вказуються Вами). Зазвичай використовуються для форматування виводу разом із функцією Len().

Робота з рядками

VBA має досить багату колекцію операторів і функцій для форматування рядків і вилучення тих їх частин, які ви вважаєте особливо привабливими. У табл. 11.3 я представив усі команди, які мені вдалося виявити.

Таблиця 11.3. Оператори та функції для обробки рядків

Не забувайте, що буквальні строкові значення (на відміну від змінних, що містять строкові значення) повинні полягати у лапки.

Оператор чи функція

Asc (рядок)

Числовий код першого символу у рядку

Chr (код_символу)

Символ, що відповідає значенню параметра код_символу

Filter (масив_джерело, еталон, включає метод порівняння)

Функція (тільки у VBA6)

Масив, що складається лише з рядків з масиву джерела, які містять стандарт. Аргумент масив_джерело має бути масивом рядкових значень. Якщо необов'язковий аргумент включає рівні False, то функція поверне лише рядки, які не включають стандарт.

Формат (рядок)

Див. розділ "Форматування даних"

Hex (число)

InStr (старт, рядок1, рядок2)

Число, що відповідає позиції рядка 2 у рядку 1; пошук починається з позиції старт, цей аргумент не обов'язковий

InStrRev (рядок 1, рядок2, старт)

функція (тільки в VBA6)

Число, що відповідає позиції рядка 2 у рядку 1, рахуючи з правого краю рядка 1; пошук починається з позиції старт, цей аргумент не обов'язковий

Join (масив_рядок, роздільник)

функція (тільки B VBA6)

Один рядок, що комбінує всі рядки з масив_рядків, який має бути масивом рядкових даних. За замовчуванням Join вставляє пробіл між рядками, взятими з масиву рядків, але можна встановити й інший символ роздільника (символ необхідно укласти в лапки)

Left (рядок, довжина)

Рядок зазначеної довжини із символів, взятих поспіль із рядка, що задається аргументом рядок, починаючи з лівого краю останнього

Len (рядок)

Число символів у рядку

LCase (рядок)

Копія рядка, представлена ​​символами нижнього регістру

LSet рядкова_

змінна = рядок

Оператор

Встановлює значення рядкової змінної, що дорівнює заданому рядку, без зміни довжини цього рядкового змінного та з розміщенням заданого рядка починаючи з лівого краю змінної

LTrim (рядок)

Новий рядок, що містить копію цього рядка без пробілів на початку

Mid(рядок, старт, довжина)

Новий рядок заданої довжини із символів даного рядка, взятих поспіль, починаючи з позиції старт

Mid(рядкова змінна, старт, довжина) = рядок

Оператор

Починаючи з позиції старт замінює символами даного рядка задане аргументом довжина число символів у рядковій змінній

Replace(рядок, знайти, замінити, старт, число_замін, метод_порівняння)

Функція (тільки у VBA6)

Новий рядок, який отримується в результаті заміни в заданому рядку тексту знайти текстом замінити. Аргументи старт, число_замін та метод_порівняння не обов'язкові. Використовуйте число замін, щоб вказати, скільки замін слід зробити, якщо текст знайти зустрічається кілька разів (за замовчуванням замінюються всі випадки появи тексту знайти в рядку)

Right (рядок, довжина)

Рядок зазначеної довжини із символів, взятих поспіль із рядка, що задається аргументом рядок, починаючи з правого краю останнього

RSet рядковий_ змінний = рядок

Оператор

Встановлює значення рядкового змінного, що дорівнює заданому рядку, без зміни довжини цього рядкового змінного та з розміщенням заданого рядка з правого краю змінного

RTrim (рядок)

Новий рядок, що містить копію цього рядка без пробілів наприкінці

Space (число)

Рядок, що складається із зазначеної кількості прогалин

Split (рядок, роздільник, межа, метод порівняння)

Функція (тільки B VBA6)

Масив рядків, отриманий в результаті поділу заданого рядка. За промовчанням оригінальний рядок розділяється за пробілами, але можна встановити роздільник, відмінний від пробілу (для завдання роздільника використовуйте символ, укладений у лапки). Необов'язковий аргумент межа задає максимальну кількість рядків у масиві, що повертається.

StrComp(рядок1, рядок2)

О, якщо два рядки дорівнюють; -1, якщо рядок 1 менше, ніж рядок 2; 1, якщо рядок! більше, ніж рядок 2 (про порівняння рядків йшлося у розділі 9)

StrConv (рядок, метод перекладу)

Новий рядок, створений на основі заданої вказаним методом перекладу

String(число, символ)

Рядок, що складається із заданого числа символів, що повторюються

StrReverse (рядок)

Функція (тільки VBA 6)

Trim(рядок)

Новий рядок, що містить копію цього рядка без пробілів на початку та наприкінці

UCase(рядок)

Копія рядка, представлена ​​символами верхнього регістру

Не турбуйтеся, якщо не виявите рядкову функцію, яка робить точно те, що вам потрібно. Сприймайте ці функції як будівельні блоки – часто для досягнення потрібного результату ці функції доводиться вкладати одну в іншу.

Припустимо, наприклад, що у вас є список повних імен у вигляді наступних рядків:

"Самодур, Іван Акакійович, акад."

"Невеселий, Степане Федоровичу, проф."

"Жартівник, Василь Степанович, канд."

(Такий список повинен зберігатися в масиві рядків; масиви будуть розглядатися в главі 13).

Припустимо, що хтось змусив вас прибрати звання в кінці кожного з наведених вище рядків. Імена у списку мають різну довжину, тому готові функції завдання не вирішують.

Але якщо припустити, що оригінальне ім'я міститься в змінній str-Стара, то допоможе наступний трюк:

strНова = Left(strСтара, Len(strСтара) - 7)

Якби VBA читав книги замість програмного коду, я б пояснив йому, що ці дії можна виконати таким чином.

1. Спочатку викликається функція Len, яка обчислює довжину оригінального рядка.

2. З результату, отриманого в п. 1, віднімається 7, оскільки кожне зі звань займає сім символів наприкінці рядка (включаючи кому та пробіл).

У результаті вийде число, якому має дорівнювати довжина нового рядка.

3. Викликається функція Left, що використовує обчислену довжину значення другого аргументу.

Функція Left читає стільки символів, скільки встановлено другим аргументом, з рядка, вказаного першим аргументом, повертаючи лише ці прочитані символи.

4. Новий, більш короткий рядок, повернутий функцією Left, присвоюється змінною

Продовжуючи працювати з новим списком вже без звань, припустимо, що тепер вас попросили витягти імена з по-батькові і помістити їх у новий список. Це завдання можна виконати за допомогою наступного оператора:

strMMfl = Mid (strHoBafl, InStr (str-Нова, ",") + 2)

Функція Mid витягує символи з будь-якого місця в рядку, який ви вкажете як аргумент. Другий аргумент цієї функції говорить, з якого місця в цьому рядку слід почати вилучення символів. У даному випадкуцей аргумент є виразом, що складається з функції InStr плюс 2.

Функція InStr шукає у заданому рядку (перший аргумент) інший рядок (другий аргумент).

В даному випадку другий аргумент - це кома, яка в списку слідує за прізвищем. Значення, яке повертає InStr, відповідає номеру позиції у першому рядку, де зустрічається другий рядок, - тепер ви знаєте, де закінчується прізвище.

До значення, поверненого функцією InStr, додається 2, щоб пропустити кому і наступний пробіл і знайти позицію, з якої починається ім'я. Тепер функція Mid витягне символи, починаючи з цього місця до кінця рядка (оскільки не вказано третій, необов'язковий аргумент довжина).

У реальному програмуванні роботі з датами і часом приділяється далеко не остання, а часто і головна роль. Тому VBA пропонує низку операторів та функцій, що дозволяють з'ясувати поточний часта дату, проводити обчислення з датами та вилучати із змінних зі значеннями дат різні компонентитипу часу, року чи дня тижня.

У табл. 11.4 наведено опис таких команд. У деяких функцій у цій таблиці опущені необов'язкові аргументи – ви завжди зможете уточнити деталі довідки VBA.

Після таблиці дещо найбільше важливих команд, Що належать до дат і часу, розглядаються докладніше.

Щоб скористатися матеріалом, що надається, ви повинні ясно уявляти, як VBA обробляє значення дат і часу і як працювати зі змінними, що зберігають дати (див. розділ 7).

Таблиця 11.4. Оператори та функції для роботи з датами та часом

При заданні аргументів не забувайте укладати буквальні значення дат у пару символів #, а рядкові значення типу інтервалів дат – у лапки.

Виконувані дії (для операторів) або значення, що повертаються (для функцій)

Поточна системна дата

Оператор

Встановлює системну дату за значенням аргументу

DateAdd (інтервал, число, дата)

Нове значення дати, що дорівнює сумі вихідної дати та казенного числа заданих інтервалівдати або часу

DateDiff (інтервал, дата1, дата2)

Число зазначених інтервалів дати або часу, що містяться у відрізку часу між датами 1 та 2

DatePart (інтервал, дата)

Ціле значення, що становить зазначений інтервал дати

DateSerial (рік, місяць, день)

Значення дати, що визначається аргументами рік, місяць, день, які мають бути числовими

DateValue (рядок з датою)

Значення дати, що відповідає рядку з датою

Ціле значення, що відповідає дню місяця, заданого датою

Hour (час)

Ціле значення між 0 і 23 включно, що становить годину доби, заданий зазначеним часом

Minute (час)

Ціле значення між 0 і 59 включно, що становить хвилини, задані вказаним часом

Month (дата)

Ціле значення між 0 і 12 включно, що становить місяць, заданий зазначеною датою

MonthName (місяць, скоротити)

Функція (тільки у VBA 6)

Значення, що представляє поточні системні дату та час

Second(час)

Ціле значення між 0 і 59 включно, що становить секунди, задані вказаним часом

Значення поточного системного часу

Time (час)

Оператор

Встановлює системний час за значенням аргументу

Число секунд, що минули з півночі

TimeSerial (годинник, хвилина, секунда)

Значення часу, задане аргументами години, хвилини, секунди

TimeValue (рядок_з_часом)

Значення часу, що відповідає рядку з часом (вся інформація про дату буде відкинута)

Weekday (дата)

Ціла кількість, що представляє день тижня, що відповідає зазначеній даті

(День_не поділи, скоротити, перший день тижня)

VBA 6) бути цілим числом від 1 до 7. Якщо необов'язковий аргумент с к р а т і т ь вказаний і дорівнює True, то рядок, що повертається, буде містити скорочену назву дня тижня. Нумерацію днів тижня можна змінювати, задаючи необов'язковий аргумент перший _ день _ тижня рівним константам типу vbMonday, vbTuesday і т.д.

Ціле число, що становить рік, що відповідає зазначеній даті

У VBA є кілька простих операторівта функцій до роботи з системною датою та системним часом, тобто. зі значенням дати та часу, що змінюється та зберігається вбудованим годинником комп'ютера.

Функція Now повертає поточну системну дату та час у форматі змінної типу Data, як, наприклад, у разі datЛовиМомент = Now.

Щоб забезпечити роботу з системним часом і системною датою окремо, VBA пропонує кілька окремих команд для кожного з цих двох елементів системи. Дещо несподіваним при цьому виявляється те, що в кожній із пар і оператор, і функція мають однакові імена.

Наприклад, щоб отримати (тобто отримати) системний час у форматі дати VBA, потрібно використовувати функцію Time, а щоб встановити (тобто задати) системний час, необхідно використовувати оператор Time. Іншими словами, ключове слово Time виконує різні дії в залежності від контексту:

datЦеMoeBpeім'я = Time " функція Time повертає значення

системного часу

Time (113:15 AM#) " оператор Time встановлює системний час

Подібним чином працюють та розрізняються відповідні функції Date та оператор Date.

У розділі на питання Люди, поясніть докладно, будь ласка, що означає в Паскалі функція ord(x) і їй зворотна chr(x) ? заданий автором Nick Brownнайкраща відповідь це Є спеціальна таблиця символів (розширеного коду ASCII, коли кожному символу належить числове значення, всього таблиці є 255 значень, тобто кожному символу присвоєно число,
chr(0..254) перетворює число (один байт) в символ якому належить дане число, наприклад chr(71) результатом буде буква "G", так само натискання клавіш на клавіатурі видає свій код саме цей код при постановці в даний операторі дасть результатом яка кнопка натиснута, це я наприклад. А ось оператор ORD(x) робить цей процес у зворотному порядку.
Задаємо значення символ та отримуємо число від 0 до 254 (один байт)
наприклад ORD("G") дасть нам результат 71 (у десятковому форматі)
Ось начебто і все !!!

Відповідь від Katyonachik[Новичок]
Все просто, насправді)
Орд ("Х") - поверне код символу Х із таблиці АСКІІ.
Результатом зворотної функції буде символ, який відповідає введеному коду (від якого береться функція) з тієї ж таблиці АСКІІ.


Відповідь від Jurii[гуру]
Це не взаємозворотні функції!
Функція Ord повертає порядковий номер значення типу, що перераховується.
Рахунок починається з нуля.
Для типу byte функція поверне власне значення – порядковий номер збігається зі значенням.
Для типу char функція поверне порядковий номер символу, який (число випадково) збігається з кодом ASCII.
Функція chr повертає символ із заданим кодом ASCII.
Висновок: Просто стосовно символьних значень вони дійсно працюють як зворотні один одному.
Тому можна сказати, що функція ord обернена функції chr, але не навпаки - функція chr не є зворотною для функції ord, тому що область застосування функції ord не обмежується роботою із символами!

Букви від 'A' до 'Z' слідують у зростаючому порядку, інакше кажучи, кожна літера має порядкове значення, відповідне її місцю в алфавіті. Це порядкове значення може бути отримано за допомогою функції ord.
ord (вираз)– повертає порядковий номер літери чи значення іншого дискретного типу.
ord('I'), ord('J'). Результат: 73, 74 (код ASCII)

Порядковий номер літери залежить від коду, що використовується. Але, незалежно від коду, що використовується, порядкові значення літер слідують за зростанням:
ord('A')< ord(‘B’) < ord(‘C’) … < ord(‘Z’)
хоча ord('Z') - ord('A') і не обов'язково дорівнює 25. Те ж саме і з малими літерами:
ord('a')< ord(‘b’) < ord(‘c’) … < ord(‘z’)

Певного зв'язку між великими та відповідними малими літерами немає, але можна без побоювань покладатися на те, що ord('a') – ord('A') має те саме значення, що й ord('z') – ord('Z ').

Незалежно від коду, що використовується, порядкові значення цифр також розташовані за зростанням:
ord('0')< ord(‘1’) < ord(‘2’) … < ord(‘9’)
більш того, порядкові значення сусідніх цифр відрізняються на 1; так, ord('9') – ord('0') = 9. Звідси випливає, що чисельне значення цифри d (типу char) можна отримати так
value:= ord(d) – ord('0').

Паскаль підтримує типи char, integerі т.д. На додаток до них програміст може визначити й інші типи шляхом перерахування послідовності констант. Наприклад, тип, заданий перерахуванням:
type days = (mon, tue, wed, thu, fri, sat, sun);

Константи типу, заданого перерахуванням, мають порядкові значення, що відраховуються від нуля. Наприклад, ord(mon) повертає 0, ord(sun) повертає 6; mon< sun.

Тип boolean– тип, що перераховується, який автоматично задається як
type boolean = (false, true);
отже, ord(false) дає 0, ord(true) дає 1; false< true.

Функція chr

Зворотній для ordє функція chr.
chr (вираз)- Повертає літеру, порядкове значення якої задається параметром; неправильне значення тягне за собою помилку.
chr(73), chr(74). Результат: I, J (кодування ASCII)
chr(1000). Результат: помилка

Функції succ та pred

Порядкові значення рідко бувають потрібні власними силами. Часто достатньо знати наступний або попередній елемент установленому порядку. Для цієї мети є функції succі pred.
succ (вираз)– повертає елемент, наступний за тим, що вказано як параметр.
succ('A'), succ('0'), succ(0). Результат: B, 1 (символ), 1 (число)
succ(false). Результат: true
pred(вираз)- Повертає елемент, що передує тому, який вказаний як параметр.
pred('Z'), pred('9'), pred(9). Результат: Y, 8 (символ), 8 (число)
pred(true). Результат: false

Ці дві функції можна використовувати для визначення наступних і попередніх елементів типу, заданого перерахуванням. Візьмемо тип days, визначений раніше: pred(sun) повертає sat, succ(mon) повертає tue.

Однак було б неправильно писати writeln(pred(sun)), оскільки елементи типу, що перераховується, не можна читати або друкувати, що, звичайно, знижує вигоду від використання таких типів. Найкраще наближення до writeln(pred(sun) – це оператор writeln(ord(pred(sun))), що друкує число 5 (порядкове значення елемента sat).

У цій статті розберемо роботу з рядками VBA на прикладах функцій InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.

Рядки - це послідовність символів, яка може складатися або з алфавітів, цифр, спеціальних символів, або з усіх. Змінна називається рядком, якщо вона укладена в подвійні лапки "".

Синтаксис

variablename = "string"

Приклади

Рядкові функції

Існують певні функції VBA String, які допомагають розробникам ефективно працювати з рядками. Нижче наведено методи String, які підтримуються в VBA. Будь ласка, натисніть на кожен із методів, щоб знати докладно.

Назва функції та опис

InStr

Функція InStr повертає перше входження одного рядка до іншого рядка. Пошук відбувається зліва направо.

Синтаксис

InStr(string1,string2[,compare])

Параметр Опис

  • Пуск – необов'язковий параметр. Вказує початкову позицію для пошуку. Пошук починається з першої позиції зліва направо.

приклад

Private Sub Constant_demo_Click() Dim Var As Variant Var = "Microsoft VBScript" MsgBox ("Line 1: " & InStr(1, 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")) End Sub

Line 1: 6
Line 2: 0
Line 3: 8
Line 4: 9
Line 5: 2
Line 6: 16
Line 7: 11

Повертає перше входження зазначеного підрядка. Пошук відбувається зліва направо.

InStrRev

Функція InStrRev повертає перше входження одного рядка до іншого рядка. Пошук відбувається праворуч наліво.

Синтаксис

InStrRev(string1,string2[,start,])

Параметр Опис

  • 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: 6
Line 2: 6
Line 3: 8
Line 4: 0
Line 5: 2
Line 6: 2
Line 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 vbscript
Line 2: ms vbscript
Line 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 VBSCRIPT
Line 2: MS VBSCRIPT
Line 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: Mi
Line 2: MS VB
Line 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: pt
Line 2: CRIPT
Line 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 VBScript
Line 2: icros
Line 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 як Variant Dim var2 як 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 є: 18
Length of var2 є: 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 = "Це є програма VBScript" "VBScript буде замінено 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 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: Це MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming

Повертає рядок після заміни рядка іншим рядком.

Space

Функція Space заповнює рядок певною кількістю прогалин.

Синтаксис

space(number)

Параметр Опис

Номер – потрібний параметр. Кількість прогалин, які ми хочемо додати до цього рядка.

приклад

Private Sub Constant_demo_Click() Dim var1 як Variant var1 = "Microsoft" Dim var2 як 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:0
Line 2:1
Line 3:1
Line 4:0
Line 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

Коли ви виконуєте цю функцію, вона робить наступний висновок.

© 2022 androidas.ru - Все про Android