VBScript — сценарии Windows и учебный маршрут
VBScript (Microsoft Visual Basic Scripting Edition) — диалект Basic для текстовых сценариев в Windows. В школьных и вузовских курсах его часто проходят рядом с VBA как «лёгкий» язык для автоматизации ОС и (исторически) скриптов в HTML.
Синтаксис близок к VBA в Excel и классическому Basic; отличия — нет компиляции в EXE, нельзя объявлять новые классы, зато удобно вызывать COM-объекты (CreateObject).
Зачем VBScript в курсе информатики
| Зачем изучают | Смысл сегодня |
|---|---|
| Встроен в Windows (с Windows 98) | Сценарии .vbs, .wsf, админ-задачи |
| Исполняется WScript.exe / CScript.exe | Автоматизация без Visual Studio |
| Общий синтаксис с VBA в Office | Один раз выучили If, For — перенос в Excel/Word |
| Скрипты в HTML (IE) | Устарело — только для истории; в браузерах сейчас JavaScript |
Для новых проектов Microsoft продвигает PowerShell; VBScript в Windows 11 помечен как legacy, но в учебниках и на старых ПК встречается часто.
Первая программа — файл .vbs
- Откройте Блокнот (или VS Code).
- Напишите одну строку:
MsgBox "Привет!"
- Сохраните как
Prg1.vbs. - Дважды щёлкните по файлу — должен запуститься Windows Script Host (
wscript.exe) и показать окно.
| Хост | Как запускать | Где вывод |
|---|---|---|
| WScript | двойной щелчок, wscript.exe script.vbs | окна, GUI |
| CScript | cscript.exe script.vbs в cmd | консоль |
Расширенный вызов MsgBox:
btn = MsgBox("Привет!", vbYesNoCancel + vbInformation + vbDefaultButton3, "Моё первое окно")
Правило скобок VBScript. Если результат присваивают переменной (btn = …), аргументы функции пишут в круглых скобках. Если вызов «ради эффекта» — можно MsgBox "текст" без скобок (стиль Basic).
Ввод строки — InputBox:
s = InputBox("Напишите строку:", "Ввод", "значение по умолчанию")
Строки, операторы и Option Explicit
| Элемент | Правило |
|---|---|
| Несколько операторов в строке | разделитель : |
| Перенос на следующую строку | _ в конце строки |
| Комментарий | ' или Rem |
| Строгие объявления | в начале файла: Option Explicit |
Строковая конкатенация — & (предпочтительнее + для текста).
Логика — And, Or, Not; сравнение — =, <>, <, >. В VBScript есть Eqv и Imp (как в классическом VB); в VB.NET их нет — там AndAlso / OrElse.
Типы, переменные, массивы
VBScript знает один универсальный тип данных в памяти — Variant. Явно указывают подтипы через Dim:
Dim i, s, flag
i = 42
s = "текст"
flag = True
Частые подтипы Variant — Integer, Long, Single, Double, String, Boolean, Date.
Массивы:
Dim X(99)
Dim Y(10, 10)
Dim Z()
ReDim Z(5, 5)
ReDim Preserve Z(5, 5, 3) ' сохранить данные при изменении размерности
Подробнее про типизацию в .NET — Типы данных; про массивы в VBA — VBA в Excel.
Управляющие конструкции
Синтаксис совпадает с главой про циклы и условия (VB.NET), но без End While — используют Loop.
Условие:
If a > 10 Then
b = b + 1
ElseIf a > 0 Then
b = a
Else
b = 0
End If
Цикл с счётчиком:
For i = 1 To 10 Step 1
total = total + i
Next
Обход коллекции или массива:
For Each item In someCollection
' ...
Next
Цикл с условием:
Do While n > 0
n = n - 1
Loop
Do
' ...
Loop Until condition
Выход — Exit For, Exit Do.
Процедуры и функции
Sub ShowSum(a, b)
MsgBox a + b
End Sub
Function Discount(price, percent)
Discount = price * (1 - percent / 100)
End Function
Call ShowSum(10, 20)
x = Discount(1000, 10)
Имя функции можно использовать для возврата значения (Discount = …) — тот же приём, что в VBA.
Объекты — CreateObject и FileSystemObject
VBScript не создаёт новые классы, но вызывает COM/ActiveX:
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Temp")
MsgBox folder.Files.Count & " файлов"
Типичные объекты в админ-скриптах — WScript.Shell (запуск программ), Scripting.FileSystemObject (файлы), ADODB.Connection (к базам через OLE DB).
В базовой информатике — глава про ОС сценарии относят к служебным программам; антивирусы часто проверяют .vbs из вложений почты.
VBScript в HTML (историческая заметка)
В старых страницах для Internet Explorer использовали:
<script language="VBScript">
Sub Button1_OnClick
MsgBox "Клик"
End Sub
</script>
Современные браузеры VBScript не выполняют — для веба нужен JavaScript. Тему сохраняют в учебниках как мост к событийной модели (OnClick → Handles в WinForms, см. процедуры и события).
Рекомендуемый порядок
После основ и управляющих конструкций — VBScript (эта статья) → VBA Excel → Word и Access → VB.NET.
Что изучить дальше
- VBA в Excel — макросы в
.xlsm - VBA в Word и Access — объектные модели документов и БД
- Первая программа VB.NET — современная ветвь на .NET
- Базовая информатика — алгоритмы — блок-схемы до кода
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). История Visual Basic: эволюция от BASIC до современных реализаций в экосистеме Microsoft. Практика VB.NET: консольные программы, dotnet CLI, выбор коллекций и чтение/запись файлов через BCL. VB.NET: лямбда-выражения, Func/Action, LINQ, перегрузка операторов, индексаторы и IEnumerable для For Each. VBA в Microsoft Word и Access — объектные модели, макросы, формы и отчёты; связь с Excel и базами данных. Расширенные основы Visual Basic: синтаксис, базовые конструкции, модель выполнения и практические ориентиры. Архитектура приложений на Visual Basic: структура проекта, компоненты и подходы к построению Windows-приложений. Типизация и набор правил определения типов данных в Visual Basic. Управляющие конструкции и операторы Visual Basic: условия, циклы, выражения и практические шаблоны принятия решений. Процедуры и события в Visual Basic: обработчики, жизненный цикл событий и организация прикладной логики. Подробный гайд по установке и запуску первой программы на VB.NET и историческому варианту VB6. Справочник-шпаргалка по visual-basic: типы, синтаксис, стандартная библиотека и типовые паттерны. Не заменяет пошаговое обучение. Краткий ввод в Visual Basic for Applications: макросы, объектная модель Excel и отличия от VB.NET.История языка visual-basic
Консоль и файлы
Лямбды и LINQ
VBA Word и Access
Основы языка visual-basic
Архитектура приложений на visual-basic
Типы данных в visual-basic
Управляющие конструкции и операторы visual-basic
Процедуры и события в visual-basic
Первая программа на visual-basic
Справочник по visual-basic
VBA в Excel