VBScript (VBS, развернуто Microsoft Visual Basic Script Edition, иногда Visual Basic Script) — язык сценариев, созданный компанией Microsoft на основе языка Visual Basic, предназначенный для применения в приложениях, использующих технологию Active Scripting.
VBScript | |
---|---|
Класс языка | сценарный язык и интерпретируемый |
Появился в | 1996 |
Разработчик | Майкрософт |
Расширение файлов |
.vbs |
Выпуск |
|
Сайт | docs.microsoft.com/… (англ.) |
Медиафайлы на Викискладе |
Область применения
правитьСценарии (скрипты) на языке VBScript чаще всего применяются в следующих областях, использующих продукцию Microsoft:
- в сервере сценариев Windows (WSH[1]), предназначенном для автоматизации администрирования систем Windows;
- серверный программный код в веб-страницах ASP;
- клиентские скрипты в браузере Internet Explorer и других приложениях, использующих его движок, в частности HTML Application.
VBS-сценарии, в зависимости от области применения, могут располагаться в отдельных текстовых файлах (обычно, с расширением .vbs) или встраиваться в документы на других языках (например, HTML). Очень часто скрипты используются программами-инсталляторами для преднастройки.
Для работоспособности скриптов в системе должно присутствовать исполняющее ядро («движок»[2]) языка (библиотека vbscript.dll). Также существуют программы (как правило, коммерческие), позволяющие сконвертировать скрипт в вполне работоспособное самостоятельное приложение *.exe.
Нельзя не упомянуть тот факт, что язык VBS издавна широко использовался и продолжает использоваться вирусописателями, для создания хоть и примитивных, но очень эффективных и опасных вредоносных программ (таких как ILOVEYOU), что сослужило языку плохую славу. Ввиду простоты синтаксиса, написать вирус может даже новичок, причем вирус будет работоспособен во всех версиях Windows (как актуальных, начиная с Windows XP и заканчивая Windows 11, так и старых, таких как Windows 98, Windows Me и Windows 2000). Посему, считается дурным тоном исполнять скрипты VBS на ПЭВМ, ввиду их большой опасности. В 99% из 100 исполняемый скрипт будет являться вредоносной программой.
Правила языка
правитьВ VBScript работают следующие правила:
- длина строки не ограничена;
- регистр символов не учитывается;
- количество пробелов между параметрами не учитывается;
- строку команды можно разрывать, а на месте разрыва нужно вставлять символ «
_
»; - максимальная длина имени переменной 255 символов;
- комментарии обозначаются символом «
'
». - несколько команд можно расположить на одной строке, разделив их символом «
:
»
Переменные
правитьПо умолчанию переменные в сценариях объявляются автоматически при первом использовании в теле скрипта, если это не запрещено директивой 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)
Объекты, их методы и свойства
правитьVBScript, как и его родитель — язык Visual Basic, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов
Класс — это тип, описывающий устройство объектов. Объект подразумевает под собой нечто, что обладает определённым поведением и способом представления, объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Все объекты, с которыми работает VBScript, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку — метод с необходимыми параметрами.
Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.
Пример
правитьВот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями):
' Объявление переменной:
Dim s
' Присваивание переменной значения:
s = "Википедия — свободная энциклопедия"
' Вывод окна с сообщением:
MsgBox s
По эффекту работы она аналогична прямой инструкции
MsgBox "Википедия — свободная энциклопедия"
См. также
править- Visual Basic for Applications
- JScript — альтернативный скриптовый язык, созданный компанией Microsoft на основе ECMAScript
- KiXtart
- AutoIt
Примечания
править- ↑ англ. Windows Script Host
- ↑ По своей сути аналогичный движкам JavaScript.
Ссылки
править- VBScript (англ.) — Руководство по VBScript от Майкрософт.
- The Script Center Script Repository (англ.) — Коллекция скриптов на VBScript от Майкрософт.