Описание тега vbscript
VBScript (Visual Basic Scripting Edition) - это интерпретируемый язык сценариев, разработанный Microsoft и созданный по образцу Visual Basic.
VBScript обычно используется для автоматизации административных и других задач в операционных системах Windows (через Windows Script Host - wsh) и для создания сценариев на стороне сервера в классических веб-приложениях asp. Он также может использоваться для написания сценариев на стороне клиента в Internet-Explorer (но не в других браузерах), но обычно используется для этой цели только в веб-приложениях интрасети, где браузер может быть ограничен IE. VBScript также является языком, используемым для создания пользовательских форм Outlook ( Outlook-форм).
Хотя синтаксис VBScript во многом совпадает с синтаксисом VBA, не помечайте вопросы vbscript как vba, если только вы не спрашиваете об обоих. Он также полностью отличается от VB.NET.
Некоторые различия между VBScript и VBA:
Не поддерживает нумерованные константы; заменить числовым значением:
'VBScript Outlook.CreateItem(0) 'VBA allows this: Outlook.CreateItem(olMailItem)
Все переменные имеют тип Variant и объявлены без спецификации типа:
'VBScript Dim olApp Dim msg 'VBA allows this: Dim olApp As Outlook.Application Dim msg As Outlook.MailItem
Вызов методов не поддерживает именованные аргументы.
'VBScript wb.SaveAs "output.csv", 6, , , , False 'VBA allows this: wb.SaveAs FileName:="output.csv", FileFormat:=xlCSV, CreateBackup:=False
Выполнение сценариев VBS с помощью WSH - WScript / CScript
VBScript может выполняться локально либо в режиме графического интерфейса, в котором вывод отображается в виде окна:
wscript.exe C:\Script\Location\script.vbs
или в режиме консоли, в котором ввод считывается из окна консоли и записывается в него.
cscript.exe C:\Script\Location\script.vbs
Бег wscript.exe
или cscript.exe
без указания пути скрипт будет запускаться в архитектуре машины - 32-битной на 32-битных машинах и 64-битной на 64-битных машинах. На 64-битных машинах можно запустить скрипт на уровне 32-битной эмуляции:
C:\windows\SysWOW64\wscript.exe C:\Script\Location\script.vbs
C:\windows\SysWOW64\cscript.exe C:\Script\Location\script.vbs
Примечание. Запланированные задачи VBScript должны запускаться сcscript.exe
поскольку политики компьютера / домена ограничивают активацию приложений с графическим интерфейсом пользователя, когда ни один пользователь не вошел в систему.
Отладочные скрипты
Visual Studio (Community Edition или интегрированная оболочка версий до 2013 года) можно использовать для пошагового выполнения сценариев и поиска ошибок.
//X
запустит отладчик, если есть ошибка времени выполнения или точка останова кода//D
вызовет отладчик в начале скрипта
Нет расширения переменных
Как и другие языки семейства Visual Basic, VBScript не расширяет переменные внутри строковых литералов, поэтому в коде вроде
var1 = "fox"
var2 = "The quick brown var1 jumps over the lazy dog."
значение var2
останется The quick brown var1 jumps over the lazy dog.
вместо того, чтобы стать The quick brown fox jumps over the lazy dog.
Чтобы получить значение переменной в строке, переменную необходимо объединить с остальной частью строки:
var1 = "fox"
var2 = "The quick brown " & var1 & " jumps over the lazy dog."