Visual Basic Scripting Edition (обычно просто VBScript) — скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.
VBScript был создан компанией Microsoft как замена устаревшему пакетному языку, интерпретируемому приложением command.com. Скрипты на языке VBScript чаще всего применяются в следующих областях, использующих продукцию Microsoft: автоматизация администрирования систем Windows; серверный программный код в страницах ASP; клиентские скрипты в браузере Internet Explorer. Такой тип сценариев обычно используется для: создания сложных сценариев; использования объектов из других приложений и библиотек; скрытия окон в ходе выполнения сценария; шифрования логики сценария.
В основном VBS-сценарии применяются для обработки данных, управления системой, работы с учетными записями пользователей и компьютеров, взаимодействия с офисными приложениями, работы с базами данных и прочих сложных задач.
VBS-сценарий — это обычный текстовый файл с расширением *.vbs, который легко править в блокноте, а запускать на исполнение — двойным щелчком мыши или вызовом по имени в консоли.
Сценарии не компилируются, а интерпретируются. То есть для обработки скрипта в системе должен присутствовать интерпретатор языка VBS, и таких интерпретаторов в Windows два: оконный WScript и консольный CScript, оба интерпретатора это Windows Script Host (WSH). В Visual Basic работают следующие правила: длина строки не ограничена; регистр символов не учитывается; количество пробелов между параметрами не учитывается; строку команды можно разрывать, а на месте разрыва нужно вставлять символ " _ "; максимальная длина имени переменной 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, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов
Класс — это тип, описывающий устройство объектов. Объект подразумевает под собой нечто, что обладает определённым поведением и способом представления, объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Все объекты, с которыми работает Windows Script Host, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку - метод с необходимыми параметрами.
Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.