Описание тега vbscript

VBScript (Visual Basic Scripting Edition) - это интерпретируемый язык сценариев, разработанный Microsoft и созданный по образцу Visual Basic. VBScript - это не то же самое, что VBA или VB.NET. Это три разные вещи, поэтому используйте правильные теги.

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."

Часто задаваемые вопросы

Ресурсы

Связанные теги