Visual Basic Scripting Edition (зазвичай просто VBScript) - скриптова мова програмування, що інтерпретується компонентом Windows Script Host. Він широко використовується при створенні скриптів в операційних системах сімейства Microsoft Windows.

VBScript був створений компанією Microsoft як заміна застарілого пакетного мові, що інтерпретується додатком command.com.


1. Область застосування

Скрипти на мові VBScript найчастіше використовуються у наступних областях, що використовують продукцію Microsoft:

Такий тип сценаріїв зазвичай використовується для:

  • створення складних сценаріїв;
  • використання об'єктів з інших додатків і бібліотек;
  • приховування вікон в ході виконання сценарію;
  • шифрування логіки сценарію.

В основному VBS-сценарії застосовуються для обробки даних, управління системою, роботи з обліковими записами користувачів і комп'ютерів, взаємодії з офісними додатками, роботи з базами даних і інших складних завдань.

VBS-сценарій - це звичайний текстовий файл з розширенням *. Vbs, який легко правити в блокноті, а запускати на виконання - подвійним клацанням миші або викликом по імені в консолі.

Сценарії не компілюються, а інтерпретуються. Тобто для обробки скрипта в системі повинен бути присутній інтерпретатор мови VBS, і таких інтерпретаторів в Windows два: віконний WScript і консольний CScript, обидва інтерпретатора це Windows Script Host (WSH).


2. Правила мови

У Visual Basic працюють наступні правила:

  • довжина рядка не обмежена;
  • регістр символів не враховується;
  • кількість пропусків між параметрами не враховується;
  • рядок команди можна розривати, а на місці розриву потрібно вставляти символ "_";
  • максимальна довжина імені змінної 255 символів;
  • коментарі позначаються символом "'".
  • кілька рядків можна об'єднувати в одну, попередньо розділивши їх символом ":"

3. Змінні

За замовчуванням змінні в сценаріях оголошуються автоматично при першому використанні в тілі скрипта, якщо це не заборонено директивою Option Explicit. Якщо ж на початку сценарію оголосити директиву Option Explicit, то всі змінні потрібно визначати заздалегідь за допомогою наступних конструкцій:

 Dim  ValueName1  'Змінна, доступна всім підпрограм;  Public  ValueName2  'Змінна, доступна всім підпрограм;  Private  ValueName3 'змінна, доступна тільки поточною програмою і її підпрограм; 

Константи оголошуються на початку сценарію за допомогою конструкції:

 Const ConstName1 = Value1  'Константа, доступна всім підпрограм;  Public  Const ConstName2 = Value2  'Константа, доступна всім підпрограм;  Private  Const ConstName3 = Value3 'змінна, доступна тільки поточною програмою і її підпрограм; 

Тип змінної привласнюється автоматично після внесення до неї першого значення. У Visual Basic існують такі типи даних:

  • empty - неініціалізувати змінних;
  • null - порожня змінна;
  • boolean - логічний тип, можливі значення: False, True або 0, 1;
  • byte - 8-бітове ціле число без знака, можливі значення: 0 .. 255;
  • integer - 16-бітове ціле число, можливі значення: -32768 .. 32767;
  • long - 32-бітове ціле число, можливі значення: -2147483648 .. 2147483647;
  • currency - грошовий тип, можливі значення: -922337203685477,5808 до 922337203685477,5807;
  • single - число з плаваючою точкою, можливі значення:-3.402823e38 .. -1.401298e-45 для негативних чисел і 1.401298e-45 .. 3.402823e38 для позитивних чисел;
  • double - число з плаваючою точкою, можливі значення:-1.79769313486232e308 .. -4.94065645841247e-324 для від'ємних чисел і 4.94065645841247e-324 .. 1.79769313486232e308 для позитивних чисел;
  • date - дата, можливі значення: 01.01.1900 .. 31.01.9999;
  • string - строкою змінна, місткість до 2 мільярдів символів;
  • object - покажчик на об'єкт;
  • error - код помилки.

У VBS-сценаріях можливе використання масивів змінних, які дозволяють зберігати списки, таблиці і навіть більш складні конструкції. Одновимірні масиви (списки) можуть бути динамічними, тобто вони дозволяють змінювати свій розмір в ході роботи сценарію. Всі масиви оголошуються командою Dim:

 Dim  ArrayName (Dimension) 

4. Об'єкти, їх методи і властивості

VBScript, як і їх батько - мова Visual Basic, є об'єктно-орієнтованою мовою програмування, тобто основною концепцією є поняття об'єктів і класів

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

Всі об'єкти, з якими працює Windows Script Host, мають методи і властивості. Щоб звернутися до методу, необхідно вказати об'єкт, а через точку - метод з необхідними параметрами.

Аналогічна ситуація з властивостями, але властивості можна як призначати, так і зчитувати в змінні та інші властивості, правда, слід враховувати тип даних змінних і властивостей, інакше сценарій видасть помилку несумісності типів даних.


5. Приклад

Ось приклад невеликої програми на мові VBScript, яка виводить діалогове вікно з повідомленням (символи після знака апостроф є коментарями):

 'Оголошення змінної:  Dim  strMessage  'Привласнення змінній значення:  strMessage =  "Вікіпедія - вільна енциклопедія"  'Вивід вікна з повідомленням:  MsgBox strMessage 

По ефекту роботи вона аналогічна прямий інструкції

 MsgBox  "Вікіпедія - вільна енциклопедія"