- Visual Basic Scripting Edition
-
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, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку - метод с необходимыми параметрами.
Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.
Пример
Вот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями):
' Объявление переменной: Dim strMessage ' Присваивание переменной значения: strMessage = "Википедия — свободная энциклопедия" ' Вывод окна с сообщением: MsgBox strMessage
По эффекту работы она аналогична прямой инструкции
MsgBox "Википедия — свободная энциклопедия"
См. также
- Visual Basic for Applications
- JScript — альтернативный скриптовый язык, созданный компанией Microsoft на основе EcmaScript
Ссылки
- VBScript (англ.) — Руководство по VBScript от Майкрософт.
- The Script Center Script Repository (англ.) — Коллекция скриптов на VBScript от Майкрософт.
- Форум по Visual Basic и VBS — русскоязычный форум посвящённый программированию на Visual Basic 6.0 и VBA, .Net, VBS, ASP.Net.
- Visual Basic FAQ - База готовых кодов на Visual Basic. Часто задаваемые вопросы.
- [1] - Плейлист на YouTube с кратким обучением VBS
- [2] - Русскоязычный ресурс, посвященный программированию на различных макроязыках и в скриптовых средах, в том числе и в VBSE.
- [3] - CHM-файл справки на русском языке описывает свойства и методы объектов Windows Script Host, а также некоторых других объектов OLE Automation.
Компоненты Microsoft Windows Основные Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH • VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32
Службы
управленияАрхивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления (элементы)
Приложения Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом
Игры Ядро ОС Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL (формат модулей) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Службы Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
Файловые
системыReFS • NTFS (Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS
Сервер Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
Архитектура Безопасность BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов
Совместимость Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on Windows • WOW64
Категории:- Basic
- Скриптовые языки
- Microsoft Windows
- Microsoft
- Языки веб-программирования
Wikimedia Foundation. 2010.