CoderNotes - заметки программиста

Публикации  »  Visual Basic Scripting (VBS)
Бесплатный хостинг + SSL-сертификат

Зарегистрируйте домен и получите 2 месяца бесплатного хостинга и SSL-сертификат на 1 год в подарок

Подробнее
GeekBrains

Основы VBS

VBS (Visual Basic Scripting) - язык написания сценариев высокого уровня, по синтаксису похожий на VBA, применяемый для автоматизации администрирования Windows, обработки данных и т.д. Если Вы уже знаете Visual Basic или Visual Basic для приложений (VBA), VBScript будет очень знаком. Основные понятия VBScript являются общими для большинства языков программирования.

Объявление переменных и массивов

В VBS есть глобальные и локальные переменные, доступные только в конкретной области.

Dim     Variable1 ' объявление глобальной переменной
Public  Variable2 ' объявление глобальной переменной
Private Variable3 ' объявление локальной переменной

Использование Public и Private по большей части имеют смысл при использовании классов в VBS, которые будут рассмотрены в следующей статье. В языке VBS так же можно объявить константы:

Const Const1 = Value1

Переменную так же можно вообще не объявлять, а сразу присваивать ей значение, однако, так делать не рекомендуется, т.к. в случае опечатки в названии переменной, можно получить не те результаты, что ожидались. Чтобы компилятор требовал явного объявления всех переменных, нужно использовать оператор Option Explicit

Тип переменной задается при присвоении ей значения, при этом тип может меняться в процессе выполнения программы.

Массивы объявляются с помощью скобок.

Dim Arr1(10) ' Объявление массива с фиксированным размером (11 элементов)
Dim Arr2()   ' Объявление динамического массива
ReDim Preserve Arr2(100)  ' Изменение размера динамического массива

Как и с переменными, тип массива задается при присвоении значения, причем, у разных элементов массива могут быть разные типы.

Очистить массив от данных можно так:

Erase имя_массива

Условия и ветвления

Условия в VBS осуществляется с помощью If Then Else. Пример:

Dim s
If DatePart("w", Now) = vbMonday Then
  s = "Сегодня понедельник"
Else
  s = "Сегодня не понедельник"
End If
MsgBox s

Оператор Select Case поможет при большом количестве сравнений. Пример:

Dim x,s
x = DatePart("w", Now)
Select Case x
Case vbMonday 
  s = "Понедельник"
Case vbTuesday
  s = "Вторник"
Case vbWednesday
  s = "Среда"
Case vbThursday
  s = "Четверг"
Case vbFriday
  s = "Пятница"
Case vbSaturday
  s = "Суббота"
Case Else
  s = "Воскресенье"
End select
MsgBox s

Циклы

В VBS используется два основных вида циклов.

Синтаксис цикла For ... Next

For переменная=начало To конец [Step шаг]
  тело цикла 
  [Exit For] 
  тело цикла 
Next

Операторы в квадратных скобках не обязательны. Step - задает шаг изменения переменной цикла, на сколько она увеличивается или уменьшается с каждой итерацией (повтором) цикла. Exit For - позволяет прервать цикл "досрочно", т.е. выйти из цикла, когда необходимо и передать управление оператору, следующему за Next.

Пример цикла For ... Next

For i = 1 To 10
  summ = summ + i 
Next

Еще один вариант цикла For Each ... Next. Он позволяет перебирать элементы какого-либо списка (массива), в случае, если его размеры не известны. В цикле так же можно использовать Exit For при необходимости.

Пример цикла For Each ... Next

Dim Arr(3), el, s
Arr(0) = 1 
Arr(1) = "строка"
Arr(2) = 3
For Each el In Arr
  s = s & elem & vbCrLf
Next  
MsgBox s

Цикл Do .. Loop используется когда необходимо выполнять цикл до тех пор пока условие верно или, наоброт, выйти из цикла если условие стало верно.

Синтаксис цикла с предусловием:

Do [While | Until] условие 
  тело цикла 
  [Exit Do] 
  тело цикла
Loop

Синтаксис цикла с постусловием:

Do 
  тело цикла
  [Exit Do]
  тело цикла
Loop [While | Until] условие

Как и с циклом For оператор Exit Do позволяет "досрочно" выйти из цикла.

Пример

i = 0
Do While i < 3
  MsgBox i
  i=i+1
Loop

Цикл While Wend - альтернативная форма записи цикла Do Loop с предусловием. Цикл выполняется пока условие верно.

While условие 
  тело цикла 
Wend

Заключение

Мы рассмотрели основные операторы языка VBS. Так же стоит упомянуть еще несколько моментов:

  • Операторы можно записывать в одну строку, разделяя их двоеточием :
  • Для записи комментария в начале строку нужно использовать апостроф ' или оператор REM
  • Файлы VBScript записываются как обычные текстовые файлы в кодировке Windows-1251.

На этом, основы VBS можно считать рассмотренными. 

Категория: Visual Basic Scripting (VBS)

Комментарии к статье:

09.08.19   Евген. Спасибо! Все понятно!
08.01.20   Овал Спасибо
06.04.20   АЮДжу Swipe. Всё понятно
15.06.20   Гость спасибо много интересного
21.10.20   Ромб Спасибо
21.10.20   Квадрат Выручили!
21.10.20   Тетраэдр Ура! Так долго это искал)))
26.01.21   Алексей Ошибка у вас при объяснении For Each у вас написано
For Each el In Arr
s = s & elem & vbCrLf
Next
вместо elem должно быть el
15.04.21   Гость <b>Интересно, хочется узнать, что может VBS </b>
23.09.22   Гость 1
06.11.22   Гость avrh

Добавить комментарий:

Комментарии отключены.