Руководство по vbscript

VBScript – Обзор

VB Script – это виртуальный базовый сценарий, который образует подмножество Visual Basic для приложений (VBA). VBA – это продукт Microsoft, который включен не только в другие продукты Microsoft, такие как MS Project и MS Office, но также в сторонние инструменты, такие как AUTO CAD.

Особенности VBScript

  • VBScript – это легкий язык сценариев, который имеет молниеносный переводчик.

  • VBScript, по большей части, нечувствителен к регистру. Он имеет очень простой синтаксис, легкий для изучения и реализации.

  • В отличие от C ++ или Java, VBScript – это объектно-ориентированный язык сценариев, а не объектно-ориентированный язык программирования.

  • Он использует объектную модель компонентов (COM) для доступа к элементам среды, в которой он выполняется.

  • Успешное выполнение VBScript может произойти, только если он выполняется в среде хоста, такой как Internet Explorer (IE) , Internet Information Services (IIS) и Windows Scripting Host (WSH)

VBScript – это легкий язык сценариев, который имеет молниеносный переводчик.

VBScript, по большей части, нечувствителен к регистру. Он имеет очень простой синтаксис, легкий для изучения и реализации.

В отличие от C ++ или Java, VBScript – это объектно-ориентированный язык сценариев, а не объектно-ориентированный язык программирования.

Он использует объектную модель компонентов (COM) для доступа к элементам среды, в которой он выполняется.

Успешное выполнение VBScript может произойти, только если он выполняется в среде хоста, такой как Internet Explorer (IE) , Internet Information Services (IIS) и Windows Scripting Host (WSH)

VBscript – История версий и использование

VBScript был представлен Microsoft еще в 1996 году, и его первая версия была 1.0. Текущая стабильная версия VBScript – 5.8, которая доступна как часть IE8 или Windows 7. Области использования VBScript в изобилии и не ограничиваются приведенным ниже списком.

  • VBScript используется в качестве языка сценариев в одном из популярных инструментов тестирования автоматизации – Quick Test Professional, сокращенно QTP

  • Windows Scripting Host, который в основном используется системными администраторами Windows для автоматизации рабочего стола Windows.

  • Active Server Pages (ASP) , среда сценариев на стороне сервера для создания динамических веб-страниц, использующая VBScript или Java Script.

  • VBScript используется для сценариев на стороне клиента в Microsoft Internet Explorer.

  • Microsoft Outlook Forms обычно работает на VBScript; однако программирование на уровне приложений опирается на VBA (Outlook 2000 и более поздние версии).

VBScript используется в качестве языка сценариев в одном из популярных инструментов тестирования автоматизации – Quick Test Professional, сокращенно QTP

Windows Scripting Host, который в основном используется системными администраторами Windows для автоматизации рабочего стола Windows.

Active Server Pages (ASP) , среда сценариев на стороне сервера для создания динамических веб-страниц, использующая VBScript или Java Script.

VBScript используется для сценариев на стороне клиента в Microsoft Internet Explorer.

Microsoft Outlook Forms обычно работает на VBScript; однако программирование на уровне приложений опирается на VBA (Outlook 2000 и более поздние версии).

Недостатки

  • VBscript используется только браузерами IE. Другие браузеры, такие как Chrome, Firefox DONOT, поддерживают VBScript. Следовательно, JavaScript предпочтительнее VBScript.

  • VBScript имеет ограниченную поддержку командной строки.

  • Поскольку по умолчанию нет среды разработки, отладка затруднена.

VBscript используется только браузерами IE. Другие браузеры, такие как Chrome, Firefox DONOT, поддерживают VBScript. Следовательно, JavaScript предпочтительнее VBScript.

VBScript имеет ограниченную поддержку командной строки.

Поскольку по умолчанию нет среды разработки, отладка затруднена.

Где VBScript сегодня?

Текущая версия VBScript – 5.8, и с недавней разработкой .NET Framework компания Microsoft решила в будущем обеспечить поддержку VBScript в ASP.NET для веб-разработки. Следовательно, больше не будет новых версий механизма VBScript, но все исправления дефектов и проблемы безопасности решаются группой поддержки Microsoft. Однако механизм VBScript будет поставляться как часть всех Microsoft Windows и IIS по умолчанию.

VBScript – Синтаксис

Ваш первый VBScript

Давайте напишем VBScript для распечатки «Hello World».

<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         document.write("Hello World!")
      </script>
   </body>
</html>

В приведенном выше примере мы вызвали функцию document.write , которая записывает строку в документ HTML. Эта функция может использоваться для написания текста, HTML или обоих. Таким образом, приведенный выше код будет отображать следующий результат –

Hello World!

Пробелы и разрывы строк

VBScript игнорирует пробелы, табуляции и новые строки, которые появляются в программах VBScript. Можно свободно использовать пробелы, табуляции и переводы строк в рамках программы, поэтому вы можете свободно форматировать и создавать отступы для своих программ аккуратно и последовательно, что делает код легким для чтения и понимания.

форматирование

VBScript основан на Microsoft Visual Basic. В отличие от JavaScript, терминаторы операторов, такие как точка с запятой, не используются для завершения определенного оператора.

Синтаксис одной строки

Двоеточие используется, когда две или более строки VBScript должны быть записаны в одну строку. Следовательно, в VBScript, двоеточия действуют как разделитель строк.

<script language = "vbscript" type = "text/vbscript">
   var1 = 10 : var2 = 20
</script>

Многострочный синтаксис

Когда оператор в VBScript является длинным и если пользователь хочет разбить его на несколько строк, пользователь должен использовать подчеркивание «_». Это улучшает читабельность кода. В следующем примере показано, как работать с несколькими строками.

<script language = "vbscript" type = "text/vbscript">
   var1 = 10 
   var2 = 20
   Sum = var1 + var2  
   document.write("The Sum of two numbers"&_"var1 and var2 is " & Sum)
</script>

Зарезервированные слова

В следующем списке показаны зарезервированные слова в VBScript. Эти зарезервированные слова НЕ ДОЛЖНЫ использоваться в качестве константы или переменной или любых других имен идентификаторов.

петля LSet мне
модификация новый следующий
Не Ничего такого Ноль
На вариант Необязательный
Или же ParamArray заповедник
Частный общественного RaiseEvent
ReDim Rem Продолжить
RSet Выбрать Задавать
Общий не замужем статический
Стоп Sub затем
к Правда Тип
А также Как логический
ByRef Байт ByVal
Вызов случай Учебный класс
Const валюта отлаживать
тусклый Делать двойной
каждый еще ElseIf
пустой Конец EndIf
Enum Eqv Событие
Выход Ложь За
функция Получить Идти к
Если чертенок инвентарь
В целое число Является
Позволять подобно Долго
Тип До тех пор Вариант
венед В то время как С
Xor Eval казнить
Msgbox стирать ExecuteGlobal
Вариант Явный Перемешайте SendKeys

Чувствительность к регистру

VBScript – это язык без учета регистра . Это означает, что ключевые слова языка, переменные, имена функций и любые другие идентификаторы НЕ ДОЛЖНЫ печататься с постоянной заглавной буквой. Таким образом, идентификаторы int_counter, INT_Counter и INT_COUNTER имеют одинаковое значение в VBScript.

Комментарии в VBScript

Комментарии используются для документирования логики программы и пользовательской информации, с которой другие программисты могут беспрепятственно работать над тем же кодом в будущем. Он может включать в себя информацию, такую ​​как разработанную, модифицированную, и он также может включать встроенную логику. Комментарии игнорируются интерпретатором при исполнении. Комментарии в VBScript обозначаются двумя способами.

1. Любое утверждение, начинающееся с одинарной кавычки (‘), рассматривается как комментарий.

Ниже приведен пример –

<script language = "vbscript" type = "text/vbscript">
   <!—
      ' This Script is invoked after successful login
      ' Written by : TutorialsPoint
      ' Return Value : True / False
   //- >
</script>

2. Любое утверждение, начинающееся с ключевого слова «REM».

Ниже приведен пример –

<script language = "vbscript" type = "text/vbscript">
   <!—
      REM This Script is written to Validate the Entered Input
      REM Modified by  : Tutorials point/user2
   //- >
</script>

Включение VBScript в браузерах

Не все современные браузеры поддерживают VBScript. VBScript поддерживается только Internet Explorer от Microsoft, в то время как другие браузеры (Firefox и Chrome) поддерживают только JavaScript. Следовательно, разработчики обычно предпочитают JavaScript, а не VBScript.

Хотя Internet Explorer (IE) поддерживает VBScript, вам может потребоваться включить или отключить эту функцию вручную. Из этого туториала вы узнаете, как включить и отключить поддержку VBScript в Internet Explorer.

VBScript в Internet Explorer

Вот простые шаги для включения или выключения VBScript в вашем Internet Explorer –

  • В меню «Инструменты» выберите «Свойства обозревателя».

  • Выберите вкладку «Безопасность» в диалоговом окне.

  • Нажмите кнопку «Пользовательский уровень»

  • Прокрутите вниз, пока не найдете вариант сценариев

  • Установите флажок «Включить» в разделе «Активные сценарии».

  • Наконец нажмите ОК и выйдите

В меню «Инструменты» выберите «Свойства обозревателя».

Выберите вкладку «Безопасность» в диалоговом окне.

Нажмите кнопку «Пользовательский уровень»

Прокрутите вниз, пока не найдете вариант сценариев

Установите флажок «Включить» в разделе «Активные сценарии».

Наконец нажмите ОК и выйдите

Чтобы отключить поддержку VBScript в Internet Explorer, необходимо выбрать переключатель « Отключить » в разделе « Активные сценарии» .

VBScript – Места размещения

Размещение VBScript в файле HTML

Существует гибкость, позволяющая включать код VBScript в любом месте HTML-документа. Но наиболее предпочтительный способ включить VBScript в ваш HTML-файл заключается в следующем:

  • Скрипт в разделе <head> … </ head>.

  • Скрипт в разделе <body> … </ body>.

  • Скрипт в разделах <body> … </ body> и <head> … </ head>.

  • Сценарий во внешнем файле, а затем включить в раздел <head> … </ head>.

Скрипт в разделе <head> … </ head>.

Скрипт в разделе <body> … </ body>.

Скрипт в разделах <body> … </ body> и <head> … </ head>.

Сценарий во внешнем файле, а затем включить в раздел <head> … </ head>.

В следующем разделе мы увидим, как мы можем использовать VBScript различными способами:

VBScript в разделе <head> … </ head>

Если вы хотите, чтобы скрипт запускался на каком-то событии, например, когда пользователь щелкает где-то, вы поместите этот скрипт в заголовок следующим образом:

<html>
   <head>
      <script type = "text/Vbscript">
         <!--
            Function sayHello() 
               Msgbox("Hello World")
            End Function
         //-->
      </script>
   </head>
   
   <body>
      <input type = "button" onclick = "sayHello()" value = "Say Hello" />
   </body>
</html>

Будет выдан следующий результат – кнопка с именем SayHello. При нажатии на кнопку, окно сообщения отображается пользователю с сообщением «Hello World».

   

VBScript в разделе <body> … </ body>

Если вам нужен сценарий для запуска при загрузке страницы, чтобы сценарий генерировал содержимое страницы, сценарий помещается в часть <body> документа. В этом случае у вас не было бы никакой функции, определенной с использованием VBScript –

<html>
   <head> </head>
   <body>
      <script type = "text/vbscript">
         <!--
            document.write("Hello World")
         //-->
      </script>
      <p>This is web page body </p>
   </body>
</html>

Это даст следующий результат –

Hello World
This is web page body 

VBScript в разделах <body> и <head>

Вы можете поместить свой код VBScript в разделы <head> и <body> следующим образом:

<html>
   <head>
      <script type = "text/vbscript">
         <!--
            Function sayHello() 
               msgbox("Hello World")
            End Function
         //-->
      </script>
   </head>
   
   <body>
      <script type = "text/vbscript">
         <!--
         document.write("Hello World")
         //-->
      </script>
      <input type = "button" onclick = "sayHello()" value = "Say Hello" />
   </body>
</html>

Будет получен следующий результат – сообщение Hello World с кнопкой «Say Hello». После нажатия на кнопку пользователю отображается окно с сообщением «Hello World».

Hello World 

VBScript во внешнем файле

Когда вы начнете более интенсивно работать с VBScript, вы, вероятно, обнаружите случаи, когда вы повторно используете идентичный код VBScript на нескольких страницах сайта. Вы не должны поддерживать одинаковый код в нескольких файлах HTML.

Тег script предоставляет механизм, позволяющий хранить VBScript во внешнем файле, а затем включать его в файлы HTML. Вот пример, показывающий, как вы можете включить внешний файл VBScript в свой HTML-код, используя тег script и его атрибут src:

<html>
   <head>
      <script type = "text/vbscript" src = "filename.vbs" ></script>
   </head>
   <body>
      .......
   </body>
</html>

Чтобы использовать VBScript из внешнего источника файлов, вам нужно написать весь исходный код VBScript в простом текстовом файле с расширением «.vbs», а затем включить этот файл, как показано выше. Например, вы можете сохранить следующее содержимое в файле filename.vbs, а затем использовать функцию sayHello в своем HTML-файле после включения файла filename.vbs.

Function sayHello()
   Msgbox "Hello World"
End Function

Размещение VBScript в QTP

VBScript помещается в инструмент QTP (Quick Test Professional), но он НЕ заключен в теги HTML. Файл сценария сохраняется с расширением .vbs и выполняется механизмом выполнения Quick Test Professional.

VBScript – переменные

Переменные VBScript

Переменная – это именованная ячейка памяти, используемая для хранения значения, которое можно изменить во время выполнения скрипта. VBScript имеет только ОДИН фундаментальный тип данных, Variant .

Правила объявления переменных –

  • Имя переменной должно начинаться с алфавита.

  • Имена переменных не могут превышать 255 символов.

  • Переменные НЕ должны содержать точку (.)

  • Имена переменных должны быть уникальными в объявленном контексте.

Имя переменной должно начинаться с алфавита.

Имена переменных не могут превышать 255 символов.

Переменные НЕ должны содержать точку (.)

Имена переменных должны быть уникальными в объявленном контексте.

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

Переменные объявляются с использованием ключевого слова «dim». Поскольку существует только ОДИН фундаментальный тип данных, все объявленные переменные являются вариантами по умолчанию. Следовательно, пользователь НЕ ДОЛЖЕН упоминать тип данных во время объявления.

Пример 1. В этом примере IntValue может использоваться как строка, целое число или даже массив.

Dim Var

Пример 2 – Два или более объявлений разделяются запятой (,)

Dim Variable1,Variable2

Присвоение значений переменным

Значения присваиваются аналогично алгебраическому выражению. Имя переменной в левой части сопровождается символом равенства (=), а затем ее значением в правой части.

правила

  • Числовые значения должны быть объявлены без двойных кавычек.

  • Значения String должны быть заключены в двойные кавычки (“)

  • Переменные даты и времени должны быть заключены в хеш-символ (#)

Числовые значения должны быть объявлены без двойных кавычек.

Значения String должны быть заключены в двойные кавычки (“)

Переменные даты и времени должны быть заключены в хеш-символ (#)

Примеры

' Below Example, The value 25 is assigned to the variable.
Value1 = 25

' A String Value ‘VBScript’ is assigned to the variable StrValue.
StrValue = “VBScript”

' The date 01/01/2020 is assigned to the variable DToday.
Date1 = #01/01/2020#

' A Specific Time Stamp is assigned to a variable in the below example.
Time1 = #12:30:44 PM#

Область действия переменных

Переменные могут быть объявлены с помощью следующих операторов, которые определяют область действия переменной. Область действия переменной играет решающую роль при использовании внутри процедуры или классов.

  • тусклый
  • общественного
  • Частный

тусклый

Переменные, объявленные с использованием ключевого слова «Dim» на уровне процедуры, доступны только в рамках одной процедуры. Переменные, объявленные с использованием ключевого слова «Dim» на уровне сценария, доступны для всех процедур одного и того же сценария.

Пример. В приведенном ниже примере значения Var1 и Var2 объявляются на уровне скрипта, а Var3 объявляется на уровне процедуры.

Примечание. Цель этой главы – понять переменные. Функции будут подробно рассмотрены в следующих главах.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         
         Call add()
         Function add()
            Var1 = 10
            Var2 = 15
            Dim Var3
            Var3 = Var1 + Var2
            Msgbox Var3 'Displays 25, the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Var3 has No Scope outside the procedure. Prints Empty
      </script>
   </body>
</html>

общественного

Переменные, объявленные с использованием «открытого» ключевого слова, доступны для всех процедур во всех связанных сценариях. При объявлении переменной типа «public» ключевое слово Dim заменяется на «Public».

Пример. В следующем примере Var1 и Var2 доступны на уровне сценария, а Var3 доступен для всех связанных сценариев и процедур, поскольку он объявлен как Public.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         Public Var3

         Call add()

         Function add()
            Var1 = 10
            Var2 = 15
            Var3 = Var1+Var2
            Msgbox Var3 'Displays 25, the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Displays 25 as Var3 is declared as Public 

      </script>
   </body>
</html>

Частный

Переменные, которые объявлены как «Частные», имеют область действия только в том сценарии, в котором они объявлены. При объявлении переменной типа «Private» ключевое слово Dim заменяется на «Private».

Пример. В следующем примере Var1 и Var2 доступны на уровне сценария. Var3 объявлен как Private и доступен только для этого конкретного скрипта. Использование «Частных» переменных более выражено в пределах класса.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim Var1
         Dim Var2
         Private Var3

         Call add()
         Function add()
            Var1 = 10
            Var2 = 15
            Var3 = Var1+Var2
            Msgbox Var3 'Displays the sum of two values.
         End Function

         Msgbox Var1   ' Displays 10 as Var1 is declared at Script level
         Msgbox Var2   ' Displays 15 as Var2 is declared at Script level
         Msgbox Var3   ' Displays 25 but Var3 is available only for this script.
      </script>
   </body>
</html>

VBScript – константы

Константа – это именованная область памяти, используемая для хранения значения, которое НЕ МОЖЕТ быть изменено во время выполнения скрипта. Если пользователь пытается изменить значение константы, выполнение скрипта заканчивается ошибкой. Константы объявляются так же, как и переменные.

Объявление констант

Синтаксис

[Public | Private] Const Constant_Name = Value

Константа может иметь тип Public или Private. Использование Public или Private является необязательным. Публичные константы доступны для всех сценариев и процедур, в то время как частные константы доступны в рамках процедуры или класса. Можно назначить любое значение, такое как число, строка или дата, объявленной константе.

Пример 1

В этом примере значение pi равно 3,4, и оно отображает площадь круга в окне сообщения.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim intRadius
         intRadius = 20
         const pi = 3.14
         Area = pi*intRadius*intRadius
         Msgbox Area

      </script>
   </body>
</html>

Пример 2

В приведенном ниже примере показано, как назначить значение String и Date константе.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Const myString = "VBScript"
         Const myDate = #01/01/2050#
         Msgbox myString
         Msgbox myDate

      </script>
   </body>
</html>

Пример 3

В приведенном ниже примере пользователь пытается изменить значение константы; следовательно, это закончится с ошибкой выполнения.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim intRadius
         intRadius = 20
         const pi = 3.14
         pi = pi*pi	'pi VALUE CANNOT BE CHANGED.THROWS ERROR'
         Area = pi*intRadius*intRadius
         Msgbox Area
         
      </script>
   </body>
</html>

VBScript – Операторы

Кто такой оператор?

Давайте возьмем выражение 4 + 5, равное 9 . Здесь 4 и 5 называются операндами, а + называется оператором . Язык VBScript поддерживает следующие типы операторов –

  • Арифметические Операторы
  • Операторы сравнения
  • Логические (или реляционные) операторы
  • Операторы конкатенации

Арифметические операторы

VBScript поддерживает следующие арифметические операторы –

Предположим, что переменная A содержит 5, а переменная B содержит 10, тогда –

Показать примеры

оператор Описание пример
+ Добавляет два операнда А + Б даст 15
Вычитает второй операнд из первого А – Б даст -5
* Умножьте оба операнда А * Б даст 50
/ Разделите числитель на денумератор Б / у даст 2
% Оператор модуля и остаток от целочисленного деления B MOD A даст 0
^ Оператор возведения в степень B ^ A даст 100000

Чтобы лучше понять этих операторов, попробуйте сами .

Операторы сравнения

В языке VBScript поддерживаются следующие операторы сравнения:

Предположим, что переменная A содержит 10, а переменная B содержит 20, тогда –

Показать примеры

оператор Описание пример
знак равно Проверяет, равны ли значения двух операндов или нет, если да, тогда условие становится истинным. (A == B) является ложным.
<> Проверяет, равны ли значения двух операндов или нет, если значения не равны, тогда условие становится истинным. (A <> B) верно.
> Проверяет, больше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A> B) является ложным.
< Проверяет, меньше ли значение левого операнда, чем значение правого операнда, если да, тогда условие становится истинным. (A <B) верно.
> = Проверяет, больше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A> = B) является ложным.
<= Проверяет, меньше ли значение левого операнда или равно значению правого операнда, если да, тогда условие становится истинным. (A <= B) верно.

Чтобы лучше понять этих операторов, попробуйте сами .

Логические операторы

В языке VBScript поддерживаются следующие логические операторы:

Предположим, что переменная A содержит 10, а переменная B содержит 0, тогда –

Показать примеры

оператор Описание пример
А ТАКЖЕ Называется логический оператор И. Если оба условия истинны, то выражение становится истинным. a <> 0 И b <> 0 – Ложь.
ИЛИ ЖЕ Вызывается логическим оператором ИЛИ. Если любое из двух условий является Истиной, тогда условие становится Истиной. a <> 0 ИЛИ b <> 0 верно.
НЕ Вызывается логическим оператором НЕ. Он меняет логическое состояние своего операнда. Если условие имеет значение True, то оператор Logical NOT сделает его False. НЕ (a <> 0 ИЛИ b <> 0) ложно.
XOR Называется логическим исключением. Это комбинация оператора NOT и OR. Если одно и только одно из выражений имеет значение True, результатом будет True. (a <> 0 XOR b <> 0) верно.

Чтобы лучше понять этих операторов, попробуйте сами .

Операторы конкатенации

Существуют следующие операторы конкатенации, поддерживаемые языком VBScript:

Предположим, что переменная A содержит 5, а переменная B содержит 10, тогда –

Показать примеры

оператор Описание пример
+ Добавляет два значения, так как значения переменных являются числовыми А + Б даст 15
& Объединяет два значения А & Б даст 510

Допустим, переменная A = “Microsoft” и переменная B = “VBScript”, тогда –

оператор Описание пример
+ Объединяет два значения A + B даст MicrosoftVBScript
& Объединяет два значения A & B предоставит MicrosoftVBScript

Примечание. Операторы конкатенации могут использоваться для чисел и строк. Выходные данные зависят от контекста, если переменные содержат числовое значение или строковое значение.

Чтобы лучше понять этих операторов, попробуйте сами .

VBScript – принятие решений

Принятие решений позволяет программистам контролировать ход выполнения скрипта или одного из его разделов. Выполнение регулируется одним или несколькими условными утверждениями.

Ниже приводится общая форма типичной структуры принятия решений, встречающейся в большинстве языков программирования.

Заявления о принятии решений в VBScript

VBScript предоставляет следующие типы решений для принятия решений.

утверждение Описание
если заявление Оператор if состоит из логического выражения, за которым следует один или несколько операторов.
если .. еще заявление Оператор if else состоит из логического выражения, за которым следует один или несколько операторов. Если условие истинно, выполняются операторы согласно операторам If . Если условие ложно, то остальная часть скрипта выполняется
если … еще одно заявление Оператор if, за которым следует одно или несколько выражений ElseIf , которое состоит из логических выражений, а затем следует необязательный оператор else, который выполняется, когда все условие становится ложным.
вложенные операторы if Оператор if или elseif внутри другого оператора if или elseif .
заявление о переключении Оператор switch позволяет проверять переменную на соответствие списку значений.

VBScript – циклы

Может возникнуть ситуация, когда вам нужно выполнить блок кода несколько раз. В общем случае операторы выполняются последовательно: первый оператор в функции выполняется первым, затем второй и так далее.

Языки программирования предоставляют различные структуры управления, которые позволяют более сложные пути выполнения. Оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз, и далее следует общее из оператора цикла в VBScript.

Петлевая архитектура

VBScript предоставляет следующие типы циклов для обработки требований циклов. Нажмите на следующие ссылки, чтобы проверить их детали.

Тип петли Описание
для цикла Выполняет последовательность операторов несколько раз и сокращает код, который управляет переменной цикла.
для каждого цикла Он выполняется, если в группе есть хотя бы один элемент, и повторяется для каждого элемента в группе.
пока .. венд петля Он проверяет условие перед выполнением тела цикла.
сделай .. пока петли Операторы do..While будут выполняться до тех пор, пока условие будет True. (Т. Е.) Цикл должен повторяться до тех пор, пока условие не станет False.
делать .. до петель Операторы do..Until будут выполняться до тех пор, пока условие имеет значение False (т. Е.) Цикл должен повторяться до тех пор, пока условие не станет True.

Заявления о контроле цикла

Операторы управления циклом изменяют выполнение от его нормальной последовательности. Когда выполнение выходит из области видимости, все остальные операторы в цикле НЕ выполняются.

VBScript поддерживает следующие операторы управления. Нажмите на следующие ссылки, чтобы проверить их детали.

Контрольное заявление Описание
Выход для выписки Завершает оператор цикла For и передает выполнение в оператор, следующий сразу за циклом
Выйти Do заявление Завершает оператор Do While и переносит выполнение в оператор сразу после цикла

VBScript – События

Что такое событие?

Взаимодействие VBScript с HTML обрабатывается посредством событий, которые происходят, когда пользователь или браузер манипулируют страницей. Когда страница загружается, это событие. Когда пользователь нажимает кнопку, этот щелчок также является событием. Другие примеры событий включают нажатие любой клавиши, закрытие окна, изменение размера окна и т. Д. Разработчики могут использовать эти события для выполнения закодированных ответов VBScript, которые заставляют кнопки закрывать окна, сообщения, отображаемые пользователям, данные для проверки и практически любые возможный ответ другого типа.

События являются частью объектной модели документа (DOM), и каждый элемент HTML имеет определенный набор событий, которые могут запускать код VBScript. Пожалуйста, пройдите этот небольшой учебник для лучшего понимания HTML Event Reference . Здесь мы увидим несколько примеров, чтобы понять связь между Event и VBScript.

Тип события onclick

Это наиболее часто используемый тип события, которое происходит, когда пользователь нажимает левую кнопку мыши. Вы можете выставить свою проверку, предупреждение и т. Д. Этому типу события.

пример

<html>
   <head>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello() 
            msgbox "Hello World"
         End Function
      </script>
   </head>
   
   <body>
      <input type = "button" onclick = "sayHello()" value = "Say Hello"/>
   </body>
</html>

Это даст следующий результат, и когда вы нажмете кнопку Hello, произойдет событие onclick, которое вызовет функцию sayHello ().


тип события отправки

Еще один наиболее важный тип события – onsubmit . Это событие происходит, когда вы пытаетесь отправить форму. Таким образом, вы можете поставить проверку формы для этого типа события. Форма отправляется нажатием кнопки «Отправить», появляется окно сообщения.

Форма отправляется нажатием кнопки «Отправить», появляется окно сообщения.

пример

<html>
   <head> </head>
   <body>
      <script language = "VBScript">       
         Function fnSubmit()
            Msgbox("Hello Tutorialspoint.Com")
         End Function       
      </script>
      
      <form action = "/cgi-bin/test.cgi" method = "post" name = "form1" onSubmit = "fnSubmit()">
         <input name = "txt1" type = "text"><br>
         <input name = "btnButton1" type = "submit" value="Submit">
      </form>
   </body>
</html>

наверху и наверху

Эти два типа событий помогут вам создавать приятные эффекты с изображениями или даже с текстом. Событие onmouseover наступает, когда вы наводите курсор мыши на какой-либо элемент, а событие onmouseout возникает, когда вы убираете мышь из этого элемента.

пример

<html>
   <head> </head>
   <body>
      <script language = "VBScript">       
         Function AlertMsg
            Msgbox("ALERT !")
         End Function
          
         Function onmourse_over()
            Msgbox("Onmouse Over")
         End Function

         Sub txt2_OnMouseOut()
            Msgbox("Onmouse Out !!!")
         End Sub
          
         Sub btnButton_OnMouseOut()
            Msgbox("onmouse out on Button !")
         End Sub
      </script>
      
      <form action = "page.cgi" method = "post" name = "form1">
         <input name = "txt1" type = "text" OnMouseOut = "AlertMsg()"><br>
         <input name = "txt2" type = "text" OnMouseOver = "onmourse_over()">
         <br><input name = "btnButton" type = "button" value = "Submit">
      </form>
   </body>
</html>

Результат будет получен при наведении курсора мыши на текстовое поле, а также при перемещении фокуса от текстового поля и кнопки.

Стандарты HTML 4

Стандартные события HTML 4 перечислены здесь для вашей справки. Здесь скрипт указывает на функцию VBScript, которая должна быть выполнена для этого события.

Событие Значение Описание
по изменению скрипт Скрипт запускается при изменении элемента
onsubmit скрипт Скрипт запускается при отправке формы
OnReset скрипт Скрипт запускается при сбросе формы
ONBLUR скрипт Скрипт запускается, когда элемент теряет фокус
OnFocus скрипт Скрипт запускается, когда элемент получает фокус
OnKeyDown скрипт Скрипт запускается при нажатии клавиши
OnKeyPress скрипт Скрипт запускается при нажатии и отпускании клавиши
OnKeyUp скрипт Скрипт запускается при отпускании ключа
по щелчку скрипт Скрипт запускается при щелчке мышью
ondblclick скрипт Скрипт запускается при двойном щелчке мышью
OnMouseDown скрипт Скрипт запускается при нажатии кнопки мыши
OnMouseMove скрипт Скрипт запускается при перемещении указателя мыши
onmouseout скрипт Скрипт запускается, когда указатель мыши выходит за пределы элемента
при наведении мыши скрипт Скрипт запускается, когда указатель мыши перемещается над элементом
OnMouseUp скрипт Скрипт запускается при отпускании кнопки мыши

VBScript и файлы cookie

Что такое куки?

Веб-браузеры и серверы используют протокол HTTP для связи, а HTTP – это протокол без сохранения состояния. Но для коммерческого веб-сайта требуется хранить информацию о сеансе на разных страницах. Например, регистрация одного пользователя заканчивается после заполнения множества страниц. Но как сохранить информацию о сеансе пользователя на всех веб-страницах. Во многих ситуациях использование файлов cookie является наиболее эффективным способом запоминания и отслеживания предпочтений, покупок, комиссий и другой информации, необходимой для лучшего восприятия посетителей или статистики сайта.

Как это устроено?

Ваш сервер отправляет некоторые данные в браузер посетителя в виде файла cookie. Браузер может принять куки. Если это так, он сохраняется в виде простой текстовой записи на жестком диске посетителя. Теперь, когда посетитель заходит на другую страницу вашего сайта, браузер отправляет тот же файл cookie на сервер для поиска. После получения ваш сервер знает / запоминает то, что было сохранено ранее. Cookies – это запись данных в виде простого текста из 5 полей переменной длины –

  • Истекает – дата окончания срока действия куки. Если это поле пустое, срок действия файла cookie истечет, когда посетитель выйдет из браузера.

  • Домен – доменное имя вашего сайта.

  • Путь – путь к каталогу или веб-странице, на которой установлен файл cookie. Это может быть пустым, если вы хотите получить куки из любого каталога или страницы.

  • Безопасный – если в этом поле содержится слово «безопасный», то файл cookie может быть получен только с безопасного сервера. Если это поле пустое, такого ограничения не существует.

  • Имя = значение – файлы cookie устанавливаются и извлекаются в форме пар ключ-значение.

Истекает – дата окончания срока действия куки. Если это поле пустое, срок действия файла cookie истечет, когда посетитель выйдет из браузера.

Домен – доменное имя вашего сайта.

Путь – путь к каталогу или веб-странице, на которой установлен файл cookie. Это может быть пустым, если вы хотите получить куки из любого каталога или страницы.

Безопасный – если в этом поле содержится слово «безопасный», то файл cookie может быть получен только с безопасного сервера. Если это поле пустое, такого ограничения не существует.

Имя = значение – файлы cookie устанавливаются и извлекаются в форме пар ключ-значение.

Файлы cookie изначально предназначались для программирования CGI, и данные cookie автоматически передаются между веб-браузером и веб-сервером, поэтому сценарии CGI на сервере могут считывать и записывать значения файлов cookie, которые хранятся на клиенте.

VBScript также может управлять файлами cookie, используя свойство cookie объекта Document . VBScript может читать, создавать, изменять и удалять файлы cookie или файлы cookie, которые применяются к текущей веб-странице.

Хранение куки

Самый простой способ создать cookie – это присвоить строковое значение объекту document.cookie , который выглядит следующим образом:

Синтаксис

document.cookie = "key1 = value1;key2 = value2;expires = date"

Здесь атрибут expires необязателен. Если вы предоставите этому атрибуту правильную дату или время, то срок действия файла cookie истечет в заданную дату или время, и после этого значение файлов cookie будет недоступно.

пример

Ниже приведен пример установки имени клиента во входном cookie.

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie
            If document.myform.customer.value = "" Then
               msgbox "Enter some value!"
            Else
               cookievalue = (document.myform.customer.value)
               document.cookie = "name = " + cookievalue
               msgbox "Setting Cookies : " & "name = " & cookievalue
            End If
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Это даст следующий результат. Теперь введите что-то в текстовое поле и нажмите кнопку «Установить cookie», чтобы установить куки.

Теперь в вашей системе есть файл cookie с именем name . Вы можете установить несколько файлов cookie, используя несколько пар ключ = значение, разделенных запятой. Вы узнаете, как прочитать этот файл cookie в следующем разделе.

Чтение файлов cookie

Чтение cookie-файла так же просто, как и его запись, потому что значением объекта document.cookie является cookie-файл. Таким образом, вы можете использовать эту строку всякий раз, когда вы хотите получить доступ к cookie. Строка document.cookie будет содержать список пар имя = значение, разделенных точками с запятой, где имя - это имя файла cookie, а значение - его строковое значение. Вы можете использовать функцию split () для разбивки строки на ключ и значения следующим образом:

пример

Ниже приведен пример установки файлов cookie в предыдущем разделе.

<html>
   <head>
      <script type = "text/vbscript">
         Function ReadCookie
            allcookies = document.cookie
            msgbox "All Cookies : " + allcookies
            cookiearray = split(allcookies,";")
            
            For i = 0 to ubound(cookiearray)
               Name  = Split(cookiearray(i),"=")
               Msgbox "Key is : " + Name(0) + " and Value is : " + Name(1)
            Next
         End Function
      </script>
   </head>
   
   <body>
      <form name = "myform" action = "">
         <input type = "button" value = "Get Cookie" onclick = "ReadCookie()"/>
      </form>
   </body>
</html>

Примечание. Здесь UBound - это метод класса Array , который возвращает длину массива. Мы обсудим Массивы в отдельной главе; до этого времени, пожалуйста, попробуйте переварить это.

Это даст следующий результат. Теперь нажмите кнопку «Получить куки», чтобы увидеть куки, которые вы установили в предыдущем разделе.

Примечание. Возможно, на вашем компьютере уже установлены другие файлы cookie. Итак, приведенный выше код покажет вам все файлы cookie, установленные на вашем компьютере.

Установка даты истечения срока действия файлов cookie

Вы можете продлить срок действия файла cookie за пределы текущего сеанса браузера, установив дату окончания срока действия и сохранив дату окончания срока действия в файле cookie. Это можно сделать, установив для атрибута expires дату и время.

пример

В следующем примере показано, как установить дату истечения срока действия файла cookie через 1 месяц.

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            y = dateadd("m",1,now())  ' Making it to expire next 
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & y
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

Удаление Cookie

Иногда вам может понадобиться удалить cookie, чтобы при последующих попытках чтения cookie ничего не возвращалось. Для этого вам просто нужно установить дату истечения срока в прошлом.

пример

В следующем примере показано, как удалить cookie, установив срок его действия 1 месяц в прошлом.

<html>
   <head>
      <script type = "text/vbscript">
         Function WriteCookie()
            x = now()
            x = now()
            a = Month(x)-1
            b = day(x)
            c = year(x)
            d = DateSerial(c,a,b)
            e = hour(x) 
            
            msgbox e
            f = minute(x)
            
            msgbox f
            d = cdate(d & " " & e & ":" & f)
            
            msgbox d
            cookievalue = document.myform.customer.value
            document.cookie = "name = "  & cookievalue
            document.cookie = "expires = " & d
            msgbox("Setting Cookies : " & "name=" & cookievalue )
         End Function
      </script>
   </head>
   <body>
      <form name = "myform" action = "">
         Enter name: <input type = "text" name = "customer"/>
         <input type = "button" value = "Set Cookie" onclick = "WriteCookie()"/>
      </form>
   </body>
</html>

VBScript - номера

Числовые функции помогают разработчикам эффективно обрабатывать числа, а также конвертировать их подтипы. Это также помогает им использовать встроенные математические функции, связанные с VBScript.

Функции преобразования чисел

Числовые функции помогают нам преобразовать данное число из одного подтипа данных в другой подтип данных.

Показать примеры

Sr.No Описание функции
1

CDbl

Функция, которая преобразует данное число любого варианта подтипа в удвоение

2

CInt

Функция, которая преобразует данное число любого варианта подтипа в целое число

3

CLng

Функция, которая преобразует данное число любого варианта подтипа в Long

4

CSng

Функция, которая преобразует данное число любого варианта подтипа в Single

5

наговор

Функция, которая преобразует заданное число любого варианта подтипа в шестнадцатеричное

CDbl

Функция, которая преобразует данное число любого варианта подтипа в удвоение

CInt

Функция, которая преобразует данное число любого варианта подтипа в целое число

CLng

Функция, которая преобразует данное число любого варианта подтипа в Long

CSng

Функция, которая преобразует данное число любого варианта подтипа в Single

наговор

Функция, которая преобразует заданное число любого варианта подтипа в шестнадцатеричное

Функции форматирования чисел

Функции форматирования чисел помогают разработчикам выразить данное число в желаемом формате.

Показать примеры

Sr.No Описание функции
1

FormatNumber

Функция, которая возвращает выражение в формате числа

2

FormatPercent

Функция, которая будет возвращать выражение, отформатированное в процентах

FormatNumber

Функция, которая возвращает выражение в формате числа

FormatPercent

Функция, которая будет возвращать выражение, отформатированное в процентах

Математические функции

Математические функции помогают нам оценить математические и тригонометрические функции заданного входного числа.

Показать примеры

Sr.No Описание функции
1

Int

Функция, которая возвращает целую часть заданного числа

2

исправлять

Функция, которая возвращает целую часть заданного числа

3

Журнал

Функция, которая возвращает натуральный логарифм заданного числа. Отрицательные числа запрещены

4

октябрь

Функция, которая возвращает октальное значение заданного процента

5

наговор

Функция, которая возвращает шестнадцатеричное значение данного числа

6

Rnd

Функция, которая возвращает случайное число от 0 до 1

7

Sgn

Функция, которая возвращает число, соответствующее знаку указанного числа

8

Sqr

Функция, которая возвращает квадратный корень из данного числа. Отрицательные числа запрещены

9

Abs

Функция, которая возвращает абсолютное значение заданного числа

10

Exp

Функция, которая возвращает значение е, возведенное в указанное число

11

грешить

Функция, которая возвращает значение синуса данного числа

12

Cos

Функция, которая возвращает значение косинуса данного числа

13

загар

Функция, которая возвращает значение tan заданного числа

Int

Функция, которая возвращает целую часть заданного числа

исправлять

Функция, которая возвращает целую часть заданного числа

Журнал

Функция, которая возвращает натуральный логарифм заданного числа. Отрицательные числа запрещены

октябрь

Функция, которая возвращает октальное значение заданного процента

наговор

Функция, которая возвращает шестнадцатеричное значение данного числа

Rnd

Функция, которая возвращает случайное число от 0 до 1

Sgn

Функция, которая возвращает число, соответствующее знаку указанного числа

Sqr

Функция, которая возвращает квадратный корень из данного числа. Отрицательные числа запрещены

Abs

Функция, которая возвращает абсолютное значение заданного числа

Exp

Функция, которая возвращает значение е, возведенное в указанное число

грешить

Функция, которая возвращает значение синуса данного числа

Cos

Функция, которая возвращает значение косинуса данного числа

загар

Функция, которая возвращает значение tan заданного числа

VBScript - Строки

Строки - это последовательность символов, которая может состоять из букв или цифр, специальных символов или всех из них. Переменная называется строкой, если она заключена в двойные кавычки "".

Синтаксис

variablename = "string"

Примеры

str1 = "string"   ' Only Alphabets
str2 = "132.45"   ' Only Numbers
str3 = "!@#$;*"   ' Only Special Characters
Str4 = "Asc23@#"  ' Has all the above

Строковые функции

Существуют предопределенные функции VBScript String, которые помогают разработчикам очень эффективно работать со строками. Ниже приведены методы String, которые поддерживаются в VBScript. Пожалуйста, нажмите на каждый из методов, чтобы узнать подробно.

Имя функции Описание
InStr Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.
InStrRev Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.
LCASE Возвращает нижний регистр указанной строки.
UCase Возвращает верхний регистр указанной строки.
Оставил Возвращает определенное количество символов с левой стороны строки.
Правильно Возвращает определенное количество символов с правой стороны строки.
средний Возвращает определенное количество символов из строки на основе указанных параметров.
LTrim Возвращает строку после удаления пробелов в левой части указанной строки.
RTrim Возвращает строку после удаления пробелов с правой стороны указанной строки.
Отделка Возвращает строковое значение после удаления начальных и конечных пробелов.
Len Возвращает длину заданной строки.
замещать Возвращает строку после замены строки другой строкой.
Космос Заполняет строку указанным количеством пробелов.
StrComp Возвращает целочисленное значение после сравнения двух указанных строк.
строка Возвращает строку с указанным символом указанное количество раз.
StrReverse Возвращает строку после изменения последовательности символов данной строки.

VBScript - Массивы

Что такое массив?

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

Декларация массива

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

'Method 1 : Using Dim
Dim arr1() 'Without Size

'Method 2 : Mentioning the Size
Dim arr2(5) 'Declared with size of 5

'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")
  • Хотя размер массива указан как 5, он может содержать 6 значений, так как индекс массива начинается с нуля.

  • Индекс массива не может быть отрицательным.

  • Массивы VBScript могут хранить переменные любого типа в массиве. Следовательно, массив может хранить целое число, строку или символы в одной переменной массива.

Хотя размер массива указан как 5, он может содержать 6 значений, так как индекс массива начинается с нуля.

Индекс массива не может быть отрицательным.

Массивы VBScript могут хранить переменные любого типа в массиве. Следовательно, массив может хранить целое число, строку или символы в одной переменной массива.

Присвоение значений массиву

Значения присваиваются массиву путем указания значения индекса массива для каждого из назначаемых значений. Это может быть строка.

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(5)
         arr(0) = "1"            'Number as String
         arr(1) = "VBScript"     'String
         arr(2) = 100            'Number
         arr(3) = 2.45           'Decimal Number
         arr(4) = #10/07/2013#   'Date
         arr(5) = #12.45 PM#     'Time

         document.write("Value stored in Array index 0 : " & arr(0) & "<br />")
         document.write("Value stored in Array index 1 : " & arr(1) & "<br />")
         document.write("Value stored in Array index 2 : " & arr(2) & "<br />")
         document.write("Value stored in Array index 3 : " & arr(3) & "<br />")
         document.write("Value stored in Array index 4 : " & arr(4) & "<br />")
         document.write("Value stored in Array index 5 : " & arr(5) & "<br />")

      </script>
   </body>
</html>

Когда приведенный выше код сохраняется как .HTML и выполняется в Internet Explorer, он дает следующий результат -

Value stored in Array index 0 : 1
Value stored in Array index 1 : VBScript
Value stored in Array index 2 : 100
Value stored in Array index 3 : 2.45
Value stored in Array index 4 : 7/10/2013
Value stored in Array index 5 : 12:45:00 PM

Многомерные массивы

Массивы не ограничиваются одним измерением и могут иметь максимум 60 измерений. Двумерные массивы являются наиболее часто используемыми.

пример

В следующем примере объявляется многомерный массив с 3 строками и 4 столбцами.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim arr(2,3)	' Which has 3 rows and 4 columns
         arr(0,0) = "Apple" 
         arr(0,1) = "Orange"
         arr(0,2) = "Grapes"           
         arr(0,3) = "pineapple" 
         
         arr(1,0) = "cucumber"           
         arr(1,1) = "beans"           
         arr(1,2) = "carrot"           
         arr(1,3) = "tomato"    
         
         arr(2,0) = "potato"             
         arr(2,1) = "sandwitch"            
         arr(2,2) = "coffee"             
         arr(2,3) = "nuts"            
                  
         document.write("Value in Array index 0,1 : " &  arr(0,1) & "<br />")
         document.write("Value in Array index 2,2 : " &  arr(2,2) & "<br />")

      </script>
   </body>
</html>

Когда приведенный выше код сохраняется как .HTML и выполняется в Internet Explorer, он дает следующий результат -

Value stored in Array index : 0 , 1 : Orange
Value stored in Array index : 2 , 2 : coffee

Редим Заявление

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

ReDim [Preserve] varname(subscripts) [, varname(subscripts)]
  • Сохранять - необязательный параметр, используемый для сохранения данных в существующем массиве при изменении размера последнего измерения.

  • varname - Обязательный параметр, который обозначает Имя переменной, которое должно соответствовать стандартным соглашениям об именах переменных.

  • subscripts - Обязательный параметр, который указывает размер массива.

Сохранять - необязательный параметр, используемый для сохранения данных в существующем массиве при изменении размера последнего измерения.

varname - Обязательный параметр, который обозначает Имя переменной, которое должно соответствовать стандартным соглашениям об именах переменных.

subscripts - Обязательный параметр, который указывает размер массива.

пример

В приведенном ниже примере массив был переопределен и затем сохранил значения при изменении существующего размера массива.

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

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim a()
         i = 0
         redim a(5)
         a(0) = "XYZ"
         a(1) = 41.25
         a(2) = 22
           
         REDIM PRESERVE a(7)
         For i = 3 to 7
         a(i) = i
         Next
           
         'to Fetch the output
         For i = 0 to ubound(a)
            Msgbox a(i)
         Next
      </script>
   </body>
</html>

Когда мы сохраняем приведенный выше скрипт как HTML и выполняем его в Internet Explorer, он дает следующий результат.

XYZ
41.25
22
3
4
5
6
7

Методы массива

В VBScript есть различные встроенные функции, которые помогают разработчикам эффективно обрабатывать массивы. Все методы, которые используются в сочетании с массивами, перечислены ниже. Пожалуйста, нажмите на название метода, чтобы узнать подробно.

функция Описание
LBound Функция, которая возвращает целое число, соответствующее наименьшему нижнему индексу из указанных массивов.
UBound Функция, которая возвращает целое число, соответствующее наибольшему нижнему индексу заданных массивов.
Трещина Функция, которая возвращает массив, содержащий указанное количество значений. Разделены на основе разделителя.
Присоединиться Функция, которая возвращает строку, содержащую указанное количество подстрок в массиве. Это прямо противоположная функция метода разделения.
Фильтр Функция, которая возвращает нулевой массив, который содержит подмножество строкового массива на основе определенных критериев фильтра.
IsArray Функция, которая возвращает логическое значение, указывающее, является ли входная переменная массивом.
стирать Функция, которая восстанавливает выделенную память для переменных массива.

VBScript - функции даты и времени

Функции даты и времени VBScript помогают разработчикам преобразовывать дату и время из одного формата в другой или выражать значение даты или времени в формате, соответствующем определенному условию.

Функции даты

функция Описание
Дата Функция, которая возвращает текущую системную дату
CDate Функция, которая преобразует данный вход в дату
DateAdd Функция, которая возвращает дату, к которой был добавлен указанный интервал времени
DateDiff Функция, которая возвращает разницу между двумя периодами времени
DatePart Функция, которая возвращает указанную часть заданного значения даты ввода
DateSerial Функция, которая возвращает действительную дату для данного года, месяца и даты
FormatDateTime Функция, которая форматирует дату на основе предоставленных параметров
IsDate Функция, которая возвращает логическое значение независимо от того, является ли предоставленный параметр датой
День Функция, которая возвращает целое число от 1 до 31, представляющее день указанной даты
Месяц Функция, которая возвращает целое число от 1 до 12, представляющее месяц указанной даты
Год Функция, которая возвращает целое число, представляющее год указанной даты
MonthName Функция, которая возвращает имя определенного месяца для указанной даты
WeekDay Функция, которая возвращает целое число (от 1 до 7), которое представляет день недели для указанного дня.
WeekDayName Функция, которая возвращает название дня недели для указанного дня.

Функции времени

функция Описание
Сейчас Функция, которая возвращает текущую системную дату и время
Час Функция, которая возвращает целое число в диапазоне от 0 до 23, представляющее часовую часть данного времени
минут Функция, которая возвращает целое число от 0 до 59, представляющее часть минут данного времени
второй Функция, которая возвращает целое число от 0 до 59, которое представляет часть секунд данного времени
Время Функция, которая возвращает текущее системное время
таймер Функция, которая возвращает количество секунд и миллисекунд с 12:00.
TimeSerial Функция, которая возвращает время для конкретного ввода часов, минут и секунд
TimeValue Функция, которая преобразует входную строку в формат времени

VBScript - Процедуры

Что такое функция?

Функция - это группа многократно используемого кода, который можно вызывать в любом месте вашей программы. Это устраняет необходимость писать один и тот же код снова и снова. Это позволит программистам разделить большую программу на ряд небольших и управляемых функций. Помимо встроенных функций, VBScript позволяет нам также писать пользовательские функции. Этот раздел объяснит вам, как писать свои собственные функции в VBScript.

Определение функции

Прежде чем использовать функцию, нам нужно определить эту конкретную функцию. Наиболее распространенный способ определения функции в VBScript - использование ключевого слова Function, за которым следует уникальное имя функции, которое может содержать или не содержать список параметров и оператор с ключевым словом End Function , который указывает конец функции. ,

Основной синтаксис показан ниже -

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function Functionname(parameter-list)
            statement 1
            statement 2
            statement 3
            .......
            statement n
         End Function

      </script>
   </body>
</html>

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

      </script>
   </body>
</html>

Вызов функции

Чтобы вызвать функцию где-нибудь позже в скрипте, вам просто нужно написать имя этой функции с ключевым словом Call .

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello()
            msgbox("Hello there")
         End Function

         Call sayHello()
        
      </script>
   </body>
</html>

Параметры функции

До сих пор мы видели функцию без параметра, но есть возможность передавать различные параметры при вызове функции. Эти переданные параметры могут быть захвачены внутри функции, и любые манипуляции с этими параметрами могут быть выполнены. Функции вызываются с помощью ключевого слова вызова .

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function sayHello(name, age)
            msgbox( name & " is " & age & " years old.")
         End Function

         Call sayHello("Tutorials point", 7)

      </script>
   </body>
</html>

Возврат значения из функции

Функция VBScript может иметь необязательный оператор возврата. Это необходимо, если вы хотите вернуть значение из функции. Например, вы можете передать два числа в функцию, а затем ожидать от функции возврата их умножения в вызывающей программе.

ПРИМЕЧАНИЕ. - Функция может возвращать несколько значений, разделенных запятой, в виде массива, назначенного самому имени функции.

пример

Эта функция принимает два параметра, объединяет их и возвращает результат в вызывающей программе. В VBScript значения возвращаются из функции с использованием имени функции. В случае, если вы хотите вернуть два или более значений, тогда имя функции возвращается с массивом значений. В вызывающей программе результат сохраняется в переменной результата.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function concatenate(first, last)
            Dim full
            full = first & last
            concatenate = full  'Returning the result to the function name itself
         End Function

      </script>
   </body>
</html>

Теперь мы можем вызвать эту функцию следующим образом:

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Function concatenate(first, last)
            Dim full
            full = first & last
            concatenate = full  'Returning the result to the function name itself
         End Function
         ' Here is the usage of returning value from  function. 
         dim result
            result = concatenate("Zara", "Ali")
        msgbox(result)
      </script>
   </body>
</html>

Подпроцедуры

Подпроцедуры похожи на функции, но есть несколько отличий.

  • Подпроцедуры DONOT Возвращают значение, в то время как функции могут возвращать или не возвращать значение.

  • Подпроцедуры могут быть вызваны без ключевого слова вызова.

  • Подпроцедуры всегда заключены в инструкции Sub и End Sub .

Подпроцедуры DONOT Возвращают значение, в то время как функции могут возвращать или не возвращать значение.

Подпроцедуры могут быть вызваны без ключевого слова вызова.

Подпроцедуры всегда заключены в инструкции Sub и End Sub .

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub

      </script>
   </body>
</html>

Процедуры вызова

Чтобы вызвать процедуру где-то позже в скрипте, вам просто нужно написать имя этой процедуры с ключевым словом Call или без него.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Sub sayHello()
            msgbox("Hello there")
         End Sub
         sayHello()

      </script>
   </body>
</html>

Расширенные понятия для функций

Существует много узнать о функциях VBScript. Мы можем передать параметр по значению или по ссылке. Пожалуйста, нажмите на каждый из них, чтобы узнать больше.

  • ByVal - передать параметры по значению

  • ByRef - передать параметры по ссылке

ByVal - передать параметры по значению

ByRef - передать параметры по ссылке

VBScript - Диалоговые окна

Что такое диалоговое окно?

VBScript позволяет разработчикам эффективно взаимодействовать с пользователем. Это может быть окно сообщения для отображения сообщения пользователю или поле ввода, с помощью которого пользователь может вводить значения.

Функция VBScript MsgBox

Функция MsgBox отображает окно сообщения и ждет, когда пользователь нажмет кнопку, а затем действие будет выполнено на основе кнопки, нажатой пользователем.

Синтаксис

MsgBox(prompt[,buttons][,title][,helpfile,context])

Описание параметра

  • Подсказка - Обязательный параметр. Строка, которая отображается в виде сообщения в диалоговом окне. Максимальная длина подсказки составляет около 1024 символов. Если сообщение распространяется более чем на строку, то мы можем разделить строки, используя символ возврата каретки (Chr (13)) или символ перевода строки (Chr (10)) между каждой строкой.

  • кнопки - необязательный параметр. Числовое выражение, определяющее тип отображаемых кнопок, стиль используемых значков, идентификатор кнопки по умолчанию и модальность окна сообщения. Если оставить пустым, значение по умолчанию для кнопок будет 0.

  • Заголовок - необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

  • helpfile - необязательный параметр. Строковое выражение, определяющее файл справки, который используется для предоставления контекстно-зависимой справки для диалогового окна.

  • context - необязательный параметр Числовое выражение, обозначающее номер контекста справки, назначенный автором справки для соответствующего раздела справки. Если предоставляется контекст, также должен быть предоставлен файл справки.

Подсказка - Обязательный параметр. Строка, которая отображается в виде сообщения в диалоговом окне. Максимальная длина подсказки составляет около 1024 символов. Если сообщение распространяется более чем на строку, то мы можем разделить строки, используя символ возврата каретки (Chr (13)) или символ перевода строки (Chr (10)) между каждой строкой.

кнопки - необязательный параметр. Числовое выражение, определяющее тип отображаемых кнопок, стиль используемых значков, идентификатор кнопки по умолчанию и модальность окна сообщения. Если оставить пустым, значение по умолчанию для кнопок будет 0.

Заголовок - необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

helpfile - необязательный параметр. Строковое выражение, определяющее файл справки, который используется для предоставления контекстно-зависимой справки для диалогового окна.

context - необязательный параметр Числовое выражение, обозначающее номер контекста справки, назначенный автором справки для соответствующего раздела справки. Если предоставляется контекст, также должен быть предоставлен файл справки.

Параметр Buttons может принимать любое из следующих значений:

  • 0 vbOKOnly Отображает только кнопку ОК.

  • 1 vbOKCancel Отображает кнопки OK и Отмена.

  • 2 vbAbortRetryIgnore Отображает кнопки «Отмена», «Повторить» и «Игнорировать».

  • 3 vBYesNoCancel Отображает кнопки «Да», «Нет» и «Отмена».

  • 4 vBYesNo Отображает кнопки «Да» и «Нет».

  • 5 vbRetryCancel Отображает кнопки «Повторить» и «Отмена».

  • 16 vbCritical Отображает значок критического сообщения.

  • 32 vbQuestion Отображает значок запроса предупреждения.

  • 48 vbExclamation Отображает значок предупреждающего сообщения.

  • 64 vbInformation Отображает значок информационного сообщения.

  • 0 vbDefaultButton1 Первая кнопка по умолчанию.

  • 256 vbDefaultButton2 Вторая кнопка по умолчанию.

  • 512 vbDefaultButton3 Третья кнопка по умолчанию.

  • 768 vbDefaultButton4 Четвертая кнопка по умолчанию.

  • 0 vbApplicationModal Модальное приложение. Текущее приложение не будет работать, пока пользователь не ответит на окно сообщения.

  • 4096 vbSystemModal Система модальных. Все приложения не будут работать, пока пользователь не ответит на окно сообщения.

0 vbOKOnly Отображает только кнопку ОК.

1 vbOKCancel Отображает кнопки OK и Отмена.

2 vbAbortRetryIgnore Отображает кнопки «Отмена», «Повторить» и «Игнорировать».

3 vBYesNoCancel Отображает кнопки «Да», «Нет» и «Отмена».

4 vBYesNo Отображает кнопки «Да» и «Нет».

5 vbRetryCancel Отображает кнопки «Повторить» и «Отмена».

16 vbCritical Отображает значок критического сообщения.

32 vbQuestion Отображает значок запроса предупреждения.

48 vbExclamation Отображает значок предупреждающего сообщения.

64 vbInformation Отображает значок информационного сообщения.

0 vbDefaultButton1 Первая кнопка по умолчанию.

256 vbDefaultButton2 Вторая кнопка по умолчанию.

512 vbDefaultButton3 Третья кнопка по умолчанию.

768 vbDefaultButton4 Четвертая кнопка по умолчанию.

0 vbApplicationModal Модальное приложение. Текущее приложение не будет работать, пока пользователь не ответит на окно сообщения.

4096 vbSystemModal Система модальных. Все приложения не будут работать, пока пользователь не ответит на окно сообщения.

Вышеуказанные значения логически разделены на четыре группы: первая группа (от 0 до 5) указывает кнопки, отображаемые в окне сообщения. Вторая группа (16, 32, 48, 64) описывает тип отображаемой иконки, третья группа (0, 256, 512, 768) указывает, какая кнопка должна быть по умолчанию, и четвертая группа (0, 4096). ) определяет модальность окна сообщения.

Возвращаемые значения

Функция MsgBox может возвращать одно из следующих значений:

  • 1 - vbOK - нажата кнопка ОК

  • 2 - vbCancel - Отмена была нажата

  • 3 - vbAbort - нажата кнопка «Прервать»

  • 4 - vbRetry - повторная попытка была нажата

  • 5 - vbIgnore - щелкнули Ignore

  • 6 - vbYes - Да нажали

  • 7 - vbNo - нет кликали

1 - vbOK - нажата кнопка ОК

2 - vbCancel - Отмена была нажата

3 - vbAbort - нажата кнопка «Прервать»

4 - vbRetry - повторная попытка была нажата

5 - vbIgnore - щелкнули Ignore

6 - vbYes - Да нажали

7 - vbNo - нет кликали

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         'Message Box with just prompt message
         MsgBox("Welcome")    
           
         'Message Box with title, yes no and cancel Butttons 
         a = MsgBox("Do you like blue color?",3,"Choose options")
         ' Assume that you press No Button	
         document.write("The Value of a is " & a)
         
      </script>
   </body>
</html>

Когда приведенный выше сценарий выполняется, отображается окно сообщения, и если вы нажмете кнопку Нет, значение a будет равно 7.

The Value of a is 7

Функция VBScript InputBox

Функция InputBox помогает пользователю получить значения от пользователя. После ввода значений, если пользователь нажимает кнопку OK или нажимает клавишу ВВОД на клавиатуре, функция InputBox возвращает текст в текстовое поле. Если пользователь нажимает кнопку «Отмена», функция возвращает пустую строку («»).

Синтаксис

InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

Описание параметра

  • Подсказка - Обязательный параметр. Строка, которая отображается в виде сообщения в диалоговом окне. Максимальная длина подсказки составляет около 1024 символов. Если сообщение распространяется более чем на строку, то мы можем разделить строки, используя символ возврата каретки (Chr (13)) или символ перевода строки (Chr (10)) между каждой строкой.

  • Заголовок - необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

  • По умолчанию - необязательный параметр. Текст по умолчанию в текстовом поле, который пользователь хотел бы отобразить.

  • XPos - необязательный параметр. Позиция оси X, которая представляет быстрое расстояние от левой стороны экрана по горизонтали. Если оставить это поле пустым, поле ввода будет горизонтально отцентрировано.

  • YPos - необязательный параметр. Положение оси Y, которое представляет быстрое расстояние от левой стороны экрана по вертикали. Если оставить это поле пустым, поле ввода будет центрировано по вертикали.

  • helpfile - необязательный параметр. Строковое выражение, определяющее файл справки, который будет использоваться для предоставления контекстно-зависимой справки для диалогового окна.

  • context - необязательный параметр Числовое выражение, обозначающее номер контекста справки, назначенный автором справки для соответствующего раздела справки. Если предоставляется контекст, также должен быть предоставлен файл справки.

Подсказка - Обязательный параметр. Строка, которая отображается в виде сообщения в диалоговом окне. Максимальная длина подсказки составляет около 1024 символов. Если сообщение распространяется более чем на строку, то мы можем разделить строки, используя символ возврата каретки (Chr (13)) или символ перевода строки (Chr (10)) между каждой строкой.

Заголовок - необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

По умолчанию - необязательный параметр. Текст по умолчанию в текстовом поле, который пользователь хотел бы отобразить.

XPos - необязательный параметр. Позиция оси X, которая представляет быстрое расстояние от левой стороны экрана по горизонтали. Если оставить это поле пустым, поле ввода будет горизонтально отцентрировано.

YPos - необязательный параметр. Положение оси Y, которое представляет быстрое расстояние от левой стороны экрана по вертикали. Если оставить это поле пустым, поле ввода будет центрировано по вертикали.

helpfile - необязательный параметр. Строковое выражение, определяющее файл справки, который будет использоваться для предоставления контекстно-зависимой справки для диалогового окна.

context - необязательный параметр Числовое выражение, обозначающее номер контекста справки, назначенный автором справки для соответствующего раздела справки. Если предоставляется контекст, также должен быть предоставлен файл справки.

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         ' Input Box with only Prompt
         InputBox("Enter a number")    
        
         ' Input Box with a Title
         a = InputBox("Enter a Number","Enter Value")
         msgbox a
        
         ' Input Box with a Prompt,Title and Default value
         a = InputBox("Enter a Number","Enter Value",123)
         msgbox a
        
         ' Input Box with a Prompt,Title,Default and XPos
         a = InputBox("Enter your name","Enter Value",123,700)
         msgbox a
        
         ' Input Box with a Prompt,Title and Default and YPos
         a = InputBox("Enter your name","Enter Value",123,,500)
         msgbox a
         
      </script>
   </body>
</html>

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

Объектно-ориентированный VBScript

Что такое объект

Объекты среды выполнения VBScript помогают нам выполнять различные задачи. Этот раздел поможет вам понять, как создать экземпляр объекта и работать с ним.

Синтаксис

Чтобы беспрепятственно работать с объектами, нам нужно объявить объект и создать его экземпляр с помощью Set Keyword.

Dim objectname    'Declare the object name
Set objectname = CreateObject(object_type)

пример

В приведенном ниже примере мы создаем объект типа Scripting.Dictionary .

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")

Уничтожение объектов

Значение уничтожения объекта состоит в том, чтобы освободить память и сбросить переменную объекта.

Синтаксис

Чтобы уничтожить объекты, нам нужно использовать Set Keyword, за которым следует имя объекта, и указать Nothing .

Set objectname = Nothing 'Destroy the object.

пример

В приведенном ниже примере мы создаем объект типа Scripting.Dictionary .

Dim obj  
Set obj = CreateObject("Scripting.Dictionary")
Set obj = Nothing.

Использование объекта

Пожалуйста, нажмите на каждый из указанных типов объектов, чтобы узнать больше.

Тип объекта Описание
Учебный класс Класс - это контейнер, который содержит методы и переменные, связанные с ним, и доступ к ним осуществляется путем создания объекта типа Class.
Scripting.FileSystemObject Это группа объектов, с которой мы можем работать с файловой системой.
Scripting.Dictionary Группа объектов, которые используются для создания объектов словаря.
отлаживать Глобальный объект, с помощью которого мы можем отправить вывод в отладчик скриптов Microsoft.

VBScript - Регулярные выражения

Регулярные выражения - это последовательность символов, образующая шаблон, который в основном используется для поиска и замены. Целью создания шаблона является сопоставление определенных строк, чтобы разработчик мог извлекать символы в зависимости от условий и заменять определенные символы.

RegExp Object

Объект RegExp помогает разработчикам соответствовать шаблону строк, а свойства и методы помогают нам легко работать с регулярными выражениями. Это похоже на RegExp в JavaScript

свойства

  • Pattern - Метод Pattern представляет собой строку, которая используется для определения регулярного выражения, и его следует установить перед использованием объекта регулярного выражения.

  • IgnoreCase - логическое свойство, представляющее, следует ли проверять регулярное выражение на предмет всех возможных совпадений в строке, если оно равно true или false. Если не указано явно, значение IgnoreCase устанавливается в False.

  • Global - логическое свойство, представляющее, следует ли проверять регулярное выражение на предмет всех возможных совпадений в строке. Если не указано явно, глобальное значение установлено в False.

Pattern - Метод Pattern представляет собой строку, которая используется для определения регулярного выражения, и его следует установить перед использованием объекта регулярного выражения.

IgnoreCase - логическое свойство, представляющее, следует ли проверять регулярное выражение на предмет всех возможных совпадений в строке, если оно равно true или false. Если не указано явно, значение IgnoreCase устанавливается в False.

Global - логическое свойство, представляющее, следует ли проверять регулярное выражение на предмет всех возможных совпадений в строке. Если не указано явно, глобальное значение установлено в False.

методы

  • Test (search-string) - метод Test принимает строку в качестве аргумента и возвращает True, если регулярное выражение может быть успешно сопоставлено со строкой, в противном случае возвращается False.

  • Replace (search-string, replace-string) - метод Replace принимает 2 параметра. Если поиск успешен, то он заменяет это совпадение строкой замены, и возвращается новая строка. Если совпадений нет, возвращается исходная строка поиска.

  • Execute (search-string) - метод Execute работает как Replace, за исключением того, что он возвращает объект коллекции Matches, содержащий объект Match для каждого успешного соответствия. Это не изменяет исходную строку.

Test (search-string) - метод Test принимает строку в качестве аргумента и возвращает True, если регулярное выражение может быть успешно сопоставлено со строкой, в противном случае возвращается False.

Replace (search-string, replace-string) - метод Replace принимает 2 параметра. Если поиск успешен, то он заменяет это совпадение строкой замены, и возвращается новая строка. Если совпадений нет, возвращается исходная строка поиска.

Execute (search-string) - метод Execute работает как Replace, за исключением того, что он возвращает объект коллекции Matches, содержащий объект Match для каждого успешного соответствия. Это не изменяет исходную строку.

Объект коллекции матчей

Объект коллекции Matches возвращается как результат метода Execute. Этот объект коллекции может содержать ноль или более объектов Match, и свойства этого объекта доступны только для чтения.

  • Count - Метод Count представляет количество совпадающих объектов в коллекции.

  • Item - метод Item позволяет получить доступ к объектам сопоставления из объекта коллекций совпадений.

Count - Метод Count представляет количество совпадающих объектов в коллекции.

Item - метод Item позволяет получить доступ к объектам сопоставления из объекта коллекций совпадений.

Матч Объект

Объект Match содержится в объекте коллекции match. Эти объекты представляют успешное совпадение после поиска строки.

  • FirstIndex - представляет позицию в исходной строке, где произошло совпадение. Этот индекс начинается с нуля, что означает, что первая позиция в строке равна 0.

  • Длина - значение, представляющее общую длину совпадающей строки.

  • Значение - значение, представляющее сопоставленное значение или текст. Это также значение по умолчанию при доступе к объекту Match.

FirstIndex - представляет позицию в исходной строке, где произошло совпадение. Этот индекс начинается с нуля, что означает, что первая позиция в строке равна 0.

Длина - значение, представляющее общую длину совпадающей строки.

Значение - значение, представляющее сопоставленное значение или текст. Это также значение по умолчанию при доступе к объекту Match.

Все о шаблоне параметров

Построение образца похоже на PERL. Создание шаблонов - самая важная вещь при работе с регулярными выражениями. В этом разделе мы поговорим о том, как создать шаблон на основе различных факторов.

Соответствие позиции

Важность сопоставления позиций заключается в том, чтобы мы размещали регулярные выражения в правильных местах.

Условное обозначение Описание
^ Соответствует только началу строки.
$ Совпадение только с концом строки.
б Соответствует любой границе слова
B Соответствует любой границе без слов

Соответствие литералам

Любая форма символов, таких как алфавит, цифра или специальный символ или даже десятичный, шестнадцатеричный, может рассматриваться как литерал. Поскольку некоторые символы уже имеют особое значение в контексте регулярных выражений, нам нужно избегать их, используя escape-последовательности.

Условное обозначение Описание
алфавитно-цифровой Совпадает только с алфавитными и числовыми символами.
п Соответствует новой строке.
[ Соответствует [только буквально
] Спички] только литералы
( Матчи (только буквальные)
) Совпадения) только литералы
т Соответствует горизонтальной вкладке
v Соответствует вертикальной вкладке
| Матчи | только буквальный
{ Матчи {только литералы
} Матчи} только литералы
\ Совпадения только буквальные
? Матчи ? только буквальный
* Совпадения * только литералы
+ Совпадения + только литералы
. Матчи . только буквальный
б Соответствует любой границе слова
B Соответствует любой границе без слов
е Соответствует каналу
р Соответствует возврат каретки
ххх Соответствует ASCII-символу восьмеричного числа xxx.
XDD Соответствует символу ASCII шестнадцатеричного числа dd.
ихххх Соответствует ASCII-символу литерала UNICODE xxxx.

Соответствие классов персонажей

Классы символов - это Шаблон, сформированный индивидуальной группировкой и заключенный в фигурные скобки []. Если мы ожидаем класс символов, которого не должно быть в списке, то мы должны игнорировать этот конкретный класс символов, используя отрицательный символ, который является заглавной буквой ^.

Условное обозначение Описание
[Хуг] Соответствует любому классу символов, заключенному в набор символов.
[^ Хуг] Соответствует любому из классов символов, которые НЕ включены в набор символов.
, Соответствует любому классу символов, кроме n
ш Соответствует любому классу символов слова. Эквивалентно [a-zA-Z_0-9]
W Соответствует любому классу не-словесных символов. Эквивалентно [^ a-zA-Z_0-9]
d Соответствует любому классу цифр. Эквивалентно [0-9].
D Соответствует любому нецифровому классу символов. Эквивалентно [^ 0-9].
s Соответствует любому классу символов пробела. Эквивалентно [ t r n v f]
S Соответствует любому классу символов пробела. Эквивалентен [^ t r n v f]

Повторение соответствия

Сопоставление повторений позволяет выполнять многократный поиск в регулярном выражении. Он также определяет количество повторений элемента в регулярном выражении.

Условное обозначение Описание
* Соответствует нулю или более вхождений данного регулярного выражения. Эквивалентно {0,}.
+ Соответствует одному или нескольким вхождениям данного регулярного выражения. Эквивалент {1,}.
? Соответствует нулю или одному вхождению данного регулярного выражения. Эквивалент {0,1}.
{Икс} Точно соответствует x количеству вхождений данного регулярного выражения.
{Икс,} Совпадение по крайней мере x или более вхождений данного регулярного выражения.
{Х, у} Соответствует x-y количеству вхождений данного регулярного выражения.

Чередование и группировка

Чередование и группировка помогают разработчикам создавать более сложные Регулярные выражения, в частности обрабатывать сложные предложения внутри Регулярного выражения, что обеспечивает большую гибкость и контроль.

Условное обозначение Описание
0 Группировка предложения для создания предложения. «(xy)? (z)» соответствует «xyz» или «z».
| Чередование объединяет одно предложение регулярного выражения, а затем сопоставляет любое из отдельных предложений. «(ij) | (23) | (pq)» соответствует «ij» или «23» или «pq».

Создание регулярных выражений

Ниже приведены несколько примеров, которые четко объясняют, как построить регулярное выражение.

Регулярное выражение Описание
"^ s * .." и ".. s * $" Представляет, что в одной строке может быть любое количество начальных и конечных пробелов.
"(( $ S) |? (# S)?)?" Представляет необязательный знак $ или #, за которым следует необязательный пробел.
"(( D + (. ( Д д )?)?))" Представляет, что присутствует хотя бы одна цифра, за которой следуют необязательные десятичные дроби и две цифры после десятичных.

пример

В приведенном ниже примере проверяется, вводил ли пользователь идентификатор электронной почты, формат которого должен совпадать, так что после идентификатора электронной почты следует «@», а затем имя домена.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         strid = "welcome.user@tutorialspoint.co.us"
         Set re = New RegExp
         With re
            .Pattern    = "^[w-.]{1,}@([da-zA-Z-]{1,}.){1,}[da-zA-Z-]{2,3}$"
            .IgnoreCase = False
            .Global     = False
         End With
        
         ' Test method returns TRUE if a match is found
         If re.Test( strid ) Then
            Document.write(strid & " is a valid e-mail address")
         Else
            Document.write(strid & " is NOT a valid e-mail address")
         End If
        
        Set re = Nothing
      </script>
   </body>
</html>

VBScript - Обработка ошибок

Существует три типа ошибок в программировании: (a) синтаксические ошибки, (b) ошибки времени выполнения и (c) логические ошибки.

Синтаксические ошибки

Синтаксические ошибки, также называемые ошибками синтаксического анализа, возникают во время интерпретации VBScript. Например, следующая строка вызывает синтаксическую ошибку, потому что отсутствует закрывающая скобка -

<script type = "text/vbscript">

   dim x,y
   x = "Tutorialspoint"
   y = Ucase(x

</script>

Ошибки во время выполнения

Ошибки времени выполнения, также называемые исключениями, возникают во время выполнения после интерпретации. Например, следующая строка вызывает ошибку во время выполнения, потому что здесь синтаксис правильный, но во время выполнения он пытается вызвать fnmultiply, который является несуществующей функцией -

<script type = "text/vbscript">
   Dim x,y
   x = 10
   y = 20
   z = fnadd(x,y)
   a = fnmultiply(x,y)
   
   Function fnadd(x,y)
      fnadd = x+y
   End Function

</script>

Логические ошибки

Логические ошибки могут быть наиболее сложным типом ошибок для отслеживания. Эти ошибки не являются результатом синтаксиса или ошибки времени выполнения. Вместо этого они возникают, когда вы совершаете ошибку в логике, управляющей вашим сценарием, и вы не получаете ожидаемого результата. Вы не можете поймать эти ошибки, потому что это зависит от требований вашего бизнеса, какую логику вы хотите использовать в своей программе. Например, деление числа на ноль или написанного скрипта, который входит в бесконечный цикл.

Err Object

AПустим, если у нас есть ошибка во время выполнения, то выполнение останавливается, отображая сообщение об ошибке. Как разработчик, если мы хотим зафиксировать ошибку, то используется Error Object.

пример

В приведенном ниже примере Err.Number дает номер ошибки, а Err.Description - описание ошибки.

<script type = "text/vbscript">
  
  Err.Raise 6     ' Raise an overflow error.
  MsgBox "Error # " & CStr(Err.Number) & " " & Err.Description
  Err.Clear       ' Clear the error.

</script>

VBScript Разные заявления

В VBScript есть несколько других важных утверждений, которые помогут разработчикам разработать эффективный скрипт. В следующей таблице приведен список таких важных утверждений. В этой главе мы подробно обсудим каждое из этих утверждений с примерами.

категория Имя функции / Название оператора
Опции Вариант Явный
ID скриптового движка ScriptEngine
варианты IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
выражение Eval, Execute
Контрольное заявление С ... Конец
Математическая функция Перемешайте

Вариант Явный

Опция Explicit заставляет разработчика объявлять переменные с помощью оператора Dim, прежде чем они будут использованы в какой-то части кода.

Синтаксис

Option Explicit

пример

Если мы используем Option Explicit и если мы не объявляем переменные, то интерпретатор выдаст ошибку.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEngine представляет подробную информацию об используемом языке сценариев. Он также используется в сочетании с ScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion, который дает основную версию механизма vbscript, вспомогательную версию механизма vbscript и версию сборки vbscript соответственно.

Синтаксис

ScriptEngine 

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Version VBScript - 5.8.16996 

Пустой

Функция IsEmpty используется для проверки, является ли выражение пустым. Возвращает логическое значение. IsEmpty возвращает True, если переменная неинициализирована или явно установлена ​​в значение Empty. В противном случае выражение возвращает False.

Синтаксис

IsEmpty(expression) 

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Line 1 : True
Line 2 : False
Line 3 : True

Нулевой

Функция IsNull используется для проверки наличия в выражении правильных данных. Возвращает логическое значение. IsNull возвращает True, если переменная равна Null, в противном случае выражение возвращает False.

Синтаксис

IsNull(expression) 

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

Функция IsObject используется для проверки, имеет ли выражение допустимый объект. Возвращает логическое значение. IsObject возвращает True, если выражение содержит подтип объекта, в противном случае выражение возвращает False.

Синтаксис

IsObject(expression)

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Line 1 : True
Line 2 : False

IsNumeric

Функция IsNumeric используется для проверки того, имеет ли выражение подтип числа. Возвращает логическое значение. IsObject возвращает True, если выражение содержит подтип числа, в противном случае выражение возвращает False.

Синтаксис

IsNumeric(expression)

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Line 1 : True
Line 2 : True
Line 3 : False

TypeName

Функция TypeName используется для возврата информации о подтипе варианта переменной.

Синтаксис

TypeName(varname)

Функция Typename может возвращать любое из следующих значений.

  • Byte - значение байта

  • Integer - целочисленное значение

  • Long - Long Integer Value

  • Single - Значение с плавающей точкой одинарной точности

  • Double - значение с плавающей точкой двойной точности

  • Валюта - стоимость валюты

  • Десятичное - десятичное значение

  • Дата - Дата или Время Значение

  • String - Строка символов Значение

  • Булево - булево значение

  • Пусто - неинициализированное значение

  • Null - нет действительных данных

  • Object - имя типа объекта

  • Ничего - переменная объекта, которая еще не ссылается на экземпляр объекта

  • ошибка

Byte - значение байта

Integer - целочисленное значение

Long - Long Integer Value

Single - Значение с плавающей точкой одинарной точности

Double - значение с плавающей точкой двойной точности

Валюта - стоимость валюты

Десятичное - десятичное значение

Дата - Дата или Время Значение

String - Строка символов Значение

Булево - булево значение

Пусто - неинициализированное значение

Null - нет действительных данных

Object - имя типа объекта

Ничего - переменная объекта, которая еще не ссылается на экземпляр объекта

ошибка

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

Функция Eval выполняет выражение и возвращает результат в виде строки или числа.

Синтаксис

Eval(expression)

Аргумент Expression может быть строковым выражением или числом. Если вы передаете в функцию Eval строку, которая не содержит числовое выражение или имя функции, а содержит только простую текстовую строку, возникает ошибка во время выполнения. Например, Eval («VBScript») приводит к ошибке.

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

20
false
15

казнить

Оператор Execute принимает аргумент, который является строковым выражением, содержащим один или несколько операторов для выполнения.

Синтаксис

Execute(expression)

В VBScript a = b можно интерпретировать двумя способами. Его можно рассматривать как оператор присваивания, в котором значение x присваивается y. Это также может быть интерпретировано как выражение, которое проверяет, имеют ли a и b одинаковые значения. Если они это сделают, результат - Истина; если это не так, результатом является Ложь. Оператор Execute всегда использует первую интерпретацию, а оператор Eval всегда использует вторую.

пример

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

Сохраните файл с расширением .html после выполнения скрипта в IE, на экране отобразится следующий результат.

VBScript
VBScript

С ... Конец с

Оператор With позволяет нам выполнять серию операций с указанным объектом без явного повторного упоминания имени объекта.

Синтаксис

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

пример

После выполнения следующего скрипта Winword открывается и вводится указанный текст.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

Перемешайте

Оператор Randomize инициализирует генератор случайных чисел, который помогает разработчикам генерировать случайные числа.

Синтаксис

Randomize [number]

пример

После выполнения следующего скрипта Winword открывается и вводится указанный текст.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

Сохраните вышеприведенный скрипт как HTML, и после выполнения скрипта в IE будет показан следующий вывод.

 Welcome to the VBScript Language Reference

These handy blocks of information will help you explore the many different parts of the Visual Basic Scripting language.

You’ll find all the parts of the VBScript language listed alphabetically under the Alphabetic Keyword List. But if you want to examine just one category, say, objects, each language category has its own, more compact section.

How’s it work? Click on one of the headings to the left to display a list of items contained in that category. From this list, select the topic that you want to view. Once you’ve opened that topic, you can easily link to other related sections.

So, go ahead and take a look! Study some statements, mull over the methods, or figure out a few functions. You’ll see just how versatile the VBScript language can be!

Language Element Description
Abs Function Returns the absolute value of a number.
Addition Operator (+) Sums two numbers.
And Operator Performs a logical conjunction on two
expressions.
Array Function Returns a Variant containing an array.
Asc Function Returns the ANSI character code
corresponding to the first letter in a string.
Assignment Operator (=) Assigns a value to a variable or
property.
Atn Function Returns the arctangent of a number.
Call Statement Transfers control to a Sub or Function procedure.
CBool Function Returns an expression that has been
converted to a Variant of subtype Boolean.
CByte Function Returns an expression that has been
converted to a Variant of subtype Byte.
CCur Function Returns an expression that has been
converted to a Variant of subtype Currency.
CDate Function Returns an expression that has been
converted to a Variant of subtype Date.
CDbl Function Returns an expression that has been
converted to a Variant of subtype Double.
Chr Function Returns the character associated with the
specified ANSI character code.
CInt Function Returns an expression that has been
converted to a Variant of subtype Integer.
Class Object Provides access to the events of a created class.
Class Statement Declares the name of a class.
Clear Method Clears all property settings of the Err object.
CLng Function Returns an expression that has been
converted to a Variant of subtype Long.
Color Constants List of color constants.
Comparison Constants List of constants used in comparison
operations.
Concatenation Operator (&) Forces string concatenation of two
expressions.
Const Statement Declares constants for use in place of
literal values.
Cos Function Returns the cosine of an angle.
CreateObject Function Creates and returns a reference to an
Automation object.
CSng Function Returns an expression that has been
converted to a Variant of subtype Single.
CStr Function Returns an expression that has been
converted to a Variant of subtype String.
Date and Time Constants List of constants defining days of week and
other constants used in Date and Time operations.
Date Format Constants List of constants used to format dates and
times.
Date Function Returns the current system date.
DateAdd Function Returns a date to which a specified time
interval has been added.
DateDiff Function Returns the number of intervals between two
dates.
DatePart Function Returns the specified part of a given
date.
DateSerial Function Returns a Variant of subtype Date for a
specified year, month, and day.
DateValue Function Returns a Variant of subtype Date.
Day Function Returns a whole number between 1 and 31,
inclusive, representing the day of the month.
Description Property Returns or sets a descriptive string
associated with an error.
Dictionary Object Object that stores data key, item pairs.
Dim Statement Declares variables and allocates storage
space.
Division Operator (/) Divides two numbers and returns a
floating-point result.
Do…Loop Statement Repeats a block of statements while a
condition is True or until a condition
becomes True.
Empty Indicates an uninitialized variable value.
Eqv Operator Performs a logical equivalence on two
expressions.
Erase Statement Reinitializes the elements of fixed-size
arrays and deallocates dynamic-array storage space.
Err Object Contains information about run-time errors.
Eval Function Evaluates an expression and returns the result.
Execute Method Executes a regular expression search against a specified string.
Execute Statement Executes one or more specified statements.
ExecuteGlobal Statement Executes one or more specified statements in the global namespace of a script.
Exit Statement Exits a block of Do…Loop, For…Next, Function, or Sub code.
Exp Function Returns e (the
base of natural logarithms) raised to a power.
Exponentiation Operator (^) Raises a number to the power of an
exponent.
False Keyword that has a value equal to zero.
FileSystemObject Object Provides access to a computer’s file
system.
Filter Function Returns a zero-based array containing a
subset of a string array based on a specified filter criteria.
FirstIndex Property Returns the position in a search string where a match occurs.
Fix Function Returns the integer portion of a number.
For…Next Statement Repeats a group of statements a specified
number of times.
For Each…Next Statement Repeats a group of statements for each
element in an array or collection.
FormatCurrency Function Returns an expression formatted as a
currency value using the currency symbol defined in the system
control panel.
FormatDateTime Function Returns an expression formatted as a date
or time.
FormatNumber Function Returns an expression formatted as a
number.
FormatPercent Function Returns an expression formatted as a
percentage (multiplied by 100) with a trailing % character.
Function Statement Declares the name, arguments, and code that
form the body of a Function procedure.
GetLocale Function Returns the current locale ID value.
GetObject Function Returns a reference to an Automation object from a file.
GetRef Function Returns a reference to a procedure that can be bound to an event.
Global Property Sets or returns a Boolean value.
Hex Function Returns a string representing the
hexadecimal value of a number.
HelpContext Property Sets or returns a context ID for a topic in
a Help File.
HelpFile Property Sets or returns a fully qualified path to a
Help File
Hour Function Returns a whole number between 0 and 23,
inclusive, representing the hour of the day.
If…Then…Else Statement Conditionally executes a group of
statements, depending on the value of an expression.
IgnoreCase Property Sets or returns a Boolean value that indicates
if a pattern search is case-sensitive or not.
Imp Operator Performs a logical implication on two
expressions.
Initialize Event Occurs when an instance of the associated class is created.
InputBox Function Displays a prompt in a dialog box, waits
for the user to input text or click a button, and returns the
contents of the text box.
InStr Function Returns the position of the first
occurrence of one string within another.
InStrRev Function Returns the position of an occurrence of
one string within another, from the end of string.
Int Function Returns the integer portion of a number.
Integer Division Operator () Divides two numbers and returns an
integer result.
Is Operator Compares two object reference variables.
IsArray Function Returns a Boolean value indicating whether
a variable is an array.
IsDate Function Returns a Boolean value indicating whether
an expression can be converted to a date.
IsEmpty Function Returns a Boolean value indicating whether
a variable has been initialized.
IsNull Function Returns a Boolean value that indicates
whether an expression contains no valid data (Null).
IsNumeric Function Returns a Boolean value indicating whether
an expression can be evaluated as a number.
IsObject Function Returns a Boolean value indicating whether
an expression references a valid Automation object.
Join Function Returns a string created by joining a
number of substrings contained in an array.
LBound Function Returns the smallest available subscript
for the indicated dimension of an array.
LCase Function Returns a string that has been converted to
lowercase.
Locale ID (LCID) Chart List of Locale ID’s and their associated values.
Left Function Returns a specified number of characters
from the left side of a string.
Len Function Returns the number of characters in a
string or the number of bytes required to store a variable.
Length Property Returns the length of a match found in a search string.
LoadPicture Function Returns a picture object. Available only on
32-bit platforms.
Log Function Returns the natural logarithm of a number.
LTrim Function Returns a copy of a string without leading
spaces.
Match Object Provides access to the read-only properties
of a regular expression match.
Matches Collection Collection of regular expression Match objects.
Mid Function Returns a specified number of characters
from a string.
Minute Function Returns a whole number between 0 and 59,
inclusive, representing the minute of the hour.
Miscellaneous Constants List of constants that don’t fit into any
other category.
Mod Operator Divides two numbers and returns only the
remainder.
Month Function Returns a whole number between 1 and 12,
inclusive, representing the month of the year.
MonthName Function Returns a string indicating the specified
month.
MsgBox Constants List of constants used with the MsgBox Function.
MsgBox Function Displays a message in a dialog box, waits
for the user to click a button, and returns a value indicating which
button the user clicked.
Multiplication Operator (*) Multiplies two numbers.
Negation Operator (-) Indicates the negative value of a numeric
expression.
Not Operator Performs logical negation on an
expression.
Now Function Returns the current date and time according
to the setting of your computer’s system date and time.
Nothing Disassociates an object variable from any
actual object.
Null Indicates that a variable contains no valid
data.
Number Property Returns or sets a numeric value specifying
an error.
Oct Function Returns a string representing the octal
value of a number.
On Error Statement Enables error-handling.
Operator Precedence List showing the order of precedence for
various operators used in VBScript.
Option Explicit Statement Forces explicit declaration of all
variables in a script.
Or Operator Performs a logical disjunction on two
expressions.
Pattern Property Sets or returns the regular expression pattern being searched for.
Private Statement Declares private variables and allocates
storage space.
PropertyGet Statement Declares the name, arguments, and code that form the body
of a Property procedure that gets (returns) the value of a property.
PropertyLet Statement Declares the name, arguments, and code that form the body
of a Property procedure that assigns the value of a property.
PropertySet Statement Declares the name, arguments, and code that form the body
of a Property procedure that sets a reference to an object.
Public Statement Declares public variables and allocates
storage space.
Raise Method Generates a run-time error.
Randomize Statement Initializes the random-number generator.
ReDim Statement Declares dynamic-array variables, and
allocates or reallocates storage space at procedure level.
RegExp Object Provides simple regular expression support.
Rem Statement Includes explanatory remarks in a program.
Replace Function Returns a string in which a specified
substring has been replaced with another substring a specified
number of times.
Replace Method Replaces text found in a regular expression search.
RGB Function Returns a whole number representing an RGB
color value.
Right Function Returns a specified number of characters
from the right side of a string.
Rnd Function Returns a random number.
Round Function Returns a number rounded to a specified
number of decimal places.
Run-time Errors List VBScript run-time errors.
RTrim Function Returns a copy of a string without trailing
spaces.
ScriptEngine Function Returns a string representing the scripting
language in use.
ScriptEngineBuildVersion Function Returns the build version number of the
scripting engine in use.
ScriptEngineMajorVersion Function Returns the major version number of the
scripting engine in use.
ScriptEngineMinorVersion Function Returns the minor version number of the
scripting engine in use.
Second Function Returns a whole number between 0 and 59,
inclusive, representing the second of the minute.
Select Case Statement Executes one of several groups of
statements, depending on the value of an expression.
Set Statement Assigns an object reference to a variable
or property.
SetLocale Function Sets the global locale and returns the previous locale.
Sgn Function Returns an integer indicating the sign of a
number.
Sin Function Returns the sine of an angle.
Source Property Returns or sets the name of the object or
application that originally generated the error.
Space Function Returns a string consisting of the
specified number of spaces.
Split Function Returns a zero-based, one-dimensional array
containing a specified number of substrings.
Sqr Function Returns the square root of a number.
StrComp Function Returns a value indicating the result of a
string comparison.
String Constants List of string constants.
String Function Returns a repeating character string of the
length specified.
StrReverse Function Returns a string in which the character
order of a specified string is reversed.
Sub Statement Declares the name, arguments, and code that
form the body of a Sub procedure.
Subtraction Operator (-) Finds the difference between two
numbers or indicates the negative value of a numeric expression.
Syntax Errors List VBScript syntax errors.
Tan Function Returns the tangent of an angle.
Terminate Event Occurs when an instance of the associated class is terminated.
Test Method Executes a regular expression search against a specified string.
Time Function Returns a Variant of subtype Date
indicating the current system time.
Timer Function Returns the number of seconds that have elapsed since 12:00 AM (midnight).
TimeSerial Function Returns a Variant of subtype Date
containing the time for a specific hour, minute, and second.
TimeValue Function Returns a Variant of subtype Date
containing the time.
Trim Function Returns a copy of a string without leading
or trailing spaces.
Tristate Constants Use them anywhere in your code to represent the values shown for each.
True Keyword that has a value equal to -1.
TypeName Function Returns a string that provides Variant
subtype information about a variable.
UBound Function Returns the largest available subscript for
the indicated dimension of an array.
UCase Function Returns a string that has been converted to
uppercase.
Value Property Returns the value or text of a match found in a search string.
VarType Constants List of constants that define Variant
subtypes.
VarType Function Returns a value indicating the subtype of a
variable.
VBScript Constants Various categories of constants provided in VBScript.
Weekday Function Returns a whole number representing the day
of the week.
WeekdayName Function Returns a string indicating the specified
day of the week.
While…Wend Statement Executes a series of statements as long as
a given condition is True.
With Statement Executes a series of statements on a single
object.
Xor Operator Performs a logical exclusion on two
expressions.
Year Function Returns a whole number representing the
year.
Language Element Description
Initialize Event Occurs when an instance of the associated class is created.
Terminate Event Occurs when an instance of the associated class is terminated.
Language Element Description
Abs Function Returns the absolute value of a number.
Array Function Returns a Variant containing an array.
Asc Function Returns the ANSI character code
corresponding to the first letter in a string.
Atn Function Returns the arctangent of a number.
CBool Function Returns an expression that has been
converted to a Variant of subtype Boolean.
CByte Function Returns an expression that has been
converted to a Variant of subtype Byte.
CCur Function Returns an expression that has been
converted to a Variant of subtype Currency.
CDate Function Returns an expression that has been
converted to a Variant of subtype Date.
CDbl Function Returns an expression that has been
converted to a Variant of subtype Double.
Chr Function Returns the character associated with the
specified ANSI character code.
CInt Function Returns an expression that has been
converted to a Variant of subtype Integer.
CLng Function Returns an expression that has been
converted to a Variant of subtype Long.
Cos Function Returns the cosine of an angle.
CreateObject Function Creates and returns a reference to an
Automation object.
CSng Function Returns an expression that has been
converted to a Variant of subtype Single.
CStr Function Returns an expression that has been
converted to a Variant of subtype String.
Date Function Returns the current system date.
DateAdd Function Returns a date to which a specified time
interval has been added.
DateDiff Function Returns the number of intervals between two
dates.
DatePart Function Returns the specified part of a given
date.
DateSerial Function Returns a Variant of subtype Date for a
specified year, month, and day.
DateValue Function Returns a Variant of subtype Date.
Day Function Returns a whole number between 1 and 31,
inclusive, representing the day of the month.
Eval Function Evaluates an expression and returns the result.
Exp Function Returns e (the
base of natural logarithms) raised to a power.
Filter Function Returns a zero-based array containing
subset of a string array based on a specified filter criteria.
Fix Function Returns the integer portion of a number.
FormatCurrency Function Returns an expression formatted as a
currency value using the currency symbol defined in the system
control panel.
FormatDateTime Function Returns an expression formatted as a date
or time.
FormatNumber Function Returns an expression formatted as a
number.
FormatPercent Function Returns an expression formatted as a
percentage (multiplied by 100) with a trailing % character.
GetLocale Function Returns the current locale ID value.
GetObject Function Returns a reference to an Automation object from a file.
GetRef Function Returns a reference to a procedure that can be bound to an event.
Hex Function Returns a string representing the
hexadecimal value of a number.
Hour Function Returns a whole number between 0 and 23,
inclusive, representing the hour of the day.
InputBox Function Displays a prompt in a dialog box, waits
for the user to input text or click a button, and returns the
contents of the text box.
InStr Function Returns the position of the first
occurrence of one string within another.
InStrRev Function Returns the position of an occurrence of
one string within another, from the end of string.
Int Function Returns the integer portion of a number.
IsArray Function Returns a Boolean value indicating whether
a variable is an array.
IsDate Function Returns a Boolean value indicating whether
an expression can be converted to a date.
IsEmpty Function Returns a Boolean value indicating whether
a variable has been initialized.
IsNull Function Returns a Boolean value that indicates
whether an expression contains no valid data (Null).
IsNumeric Function Returns a Boolean value indicating whether
an expression can be evaluated as a number.
IsObject Function Returns a Boolean value indicating whether
an expression references a valid Automation object.
Join Function Returns a string created by joining a
number of substrings contained in an array.
LBound Function Returns the smallest available subscript
for the indicated dimension of an array.
LCase Function Returns a string that has been converted to
lowercase.
Left Function Returns a specified number of characters
from the left side of a string.
Len Function Returns the number of characters in a
string or the number of bytes required to store a variable.
LoadPicture Function Returns a picture object. Available only on
32-bit platforms.
Log Function Returns the natural logarithm of a
number.
LTrim Function Returns a copy of a string without leading
spaces.
Mid Function Returns a specified number of characters
from a string.
Minute Function Returns a whole number between 0 and 59,
inclusive, representing the minute of the hour.
Month Function Returns a whole number between 1 and 12,
inclusive, representing the month of the year.
MonthName Function Returns a string indicating the specified
month.
MsgBox Function Displays a message in a dialog box, waits
for the user to click a button, and returns a value indicating which
button the user clicked.
Now Function Returns the current date and time according
to the setting of your computer’s system date and time.
Oct Function Returns a string representing the octal
value of a number.
Replace Function Returns a string in which a specified
substring has been replaced with another substring a specified
number of times.
RGB Function Returns a whole number representing an RGB
color value.
Right Function Returns a specified number of characters
from the right side of a string.
Rnd Function Returns a random number.
Round Function Returns a number rounded to a specified
number of decimal places.
RTrim Function Returns a copy of a string without trailing
spaces.
ScriptEngine Function Returns a string representing the scripting
language in use.
ScriptEngineBuildVersion Function Returns the build version number of the
scripting engine in use.
ScriptEngineMajorVersion Function Returns the major version number of the
scripting engine in use.
ScriptEngineMinorVersion Function Returns the minor version number of the
scripting engine in use.
Second Function Returns a whole number between 0 and 59,
inclusive, representing the second of the minute.
SetLocale Function Sets the global locale and returns the previous locale.
Sgn Function Returns an integer indicating the sign of a
number.
Sin Function Returns the sine of an angle.
Space Function Returns a string consisting of the
specified number of spaces.
Split Function Returns a zero-based, one-dimensional array
containing a specified number of substrings.
Sqr Function Returns the square root of a number.
StrComp Function Returns a value indicating the result of a
string comparison.
String Function Returns a repeating character string of the
length specified.
StrReverse Function Returns a string in which the character
order of a specified string is reversed.
Tan Function Returns the tangent of an angle.
Time Function Returns a Variant of subtype Date
indicating the current system time.
Timer Function Returns the number of seconds that have elapsed since 12:00 AM (midnight).
TimeSerial Function Returns a Variant of subtype Date
containing the time for a specific hour, minute, and second.
TimeValue Function Returns a Variant of subtype Date
containing the time.
Trim Function Returns a copy of a string without leading
or trailing spaces.
TypeName Function Returns a string that provides Variant
subtype information about a variable.
UBound Function Returns the largest available subscript for
the indicated dimension of an array.
UCase Function Returns a string that has been converted to
uppercase.
VarType Function Returns a value indicating the subtype of a
variable.
Weekday Function Returns a whole number representing the day
of the week.
WeekdayName Function Returns a string indicating the specified
day of the week.
Year Function Returns a whole number representing the
year.
Language Element Description
Clear Method Clears all property settings of the Err object.
Execute Method Executes a regular expression search against a specified string.
Raise Method Generates a run-time error.
Replace Method Replaces text found in a regular expression search.
Test Method Executes a regular expression search against a specified string.
Language Element Description
Call Statement Transfers control to a Sub or Function procedure.
Class Statement Declares the name of a class.
Const Statement Declares constants for use in place of
literal values.
Dim Statement Declares variables and allocates storage
space.
Do…Loop Statement Repeats a block of statements while a
condition is True or until a condition
becomes True.
Erase Statement Reinitializes the elements of fixed-size
arrays and deallocates dynamic-array storage space.
Execute Statement Executes one or more specified statements.
ExecuteGlobal Statement Executes one or more specified statements in the global namespace of a script.
Exit Statement Exits a block of Do…Loop, For…Next, Function, or Sub code.
For…Next Statement Repeats a group of statements a specified
number of times.
For Each…Next Statement Repeats a group of statements for each
element in an array or collection.
Function Statement Declares the name, arguments, and code that
form the body of a Function procedure.
If…Then…Else Statement Conditionally executes a group of
statements, depending on the value of an expression.
On Error Statement Enables error-handling.
Option Explicit Statement Forces explicit declaration of all
variables in a script.
Private Statement Declares private variables and allocates
storage space.
PropertyGet Statement Declares the name, arguments, and code that form the body
of a Property procedure that gets (returns) the value of a property.
PropertyLet Statement Declares the name, arguments, and code that form the body
of a Property procedure that assigns the value of a property.
PropertySet Statement Declares the name, arguments, and code that form the body
of a Property procedure that sets a reference to an object.
Public Statement Declares public variables and allocates
storage space.
Randomize Statement Initializes the random-number generator.
ReDim Statement Declares dynamic-array variables and
allocates or reallocates storage space at procedure level.
Rem Statement Includes explanatory remarks in a
program.
Select Case Statement Executes one of several groups of
statements, depending on the value of an expression.
Set Statement Assigns an object reference to a variable
or property.
Sub Statement Declares the name, arguments, and code that
form the body of a Sub procedure.
While…Wend Statement Executes a series of statements as long as
a given condition is True.
With Statement Executes a series of statements on a single
object.


Загрузить PDF


Загрузить PDF

VBScipt очень простой, но мощный язык программирования, который является родным для Windows. Он используется, главным образом, для создания веб-серверных приложений. VBScript встраивается в файлы HTML и является достаточно простым и прямолинейным. Обратите внимание, что VBScript отличается от Visual Basic, который используется для программирования для ПК.

  1. Изображение с названием 229827 1 1

    1

    Выберите хороший редактор кода. Разумеется, вы можете использовать Блокнот, но удобнее будет пользоваться специальным редактором с подсветкой синтаксиса языка VBScript.

  2. Изображение с названием 229827 2 1

    2

    Установите Internet Explorer. Internet Explorer является единственным браузером, который поддерживает VBScript, поскольку является продуктом Microsoft. Чтобы увидеть VBScript в действии, вам будет необходимо установить Internet Explorer.

    • Поскольку Internet Explorer поддерживается только ОС Windows, лучше всего, если вы будете программировать на компьютере с ОС Windows.
  3. Изображение с названием 229827 3 1

    3

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

    • Используйте (апостроф) для обозначения комментариев. Любая строка, начинающаяся с апострофа, рассматривается как комментарий и не обрабатывается скриптом. Использование комментариев помогает другим разработчикам и вам самим разобраться в том, что делает данный код.
    • Используйте _ (нижнее подчеркивание), чтобы продолжить строку. Обычно конец строки обозначается просто переходом на следующую, но если она оказывается слишком длиной, вы можете просто использовать _ в конце незаконченной строки для обозначения того, что текущая строка продолжается на следующей строке.

    Реклама

  1. 1

    Создайте HTML страницу. VBScript существует в пределах HTML сайтов. Чтобы увидеть, как работает ваш VBScript, вам понадобится создать HTML-файл и отрыть его в Internet Explorer. Откройте редактор кода и введите следующий код:[1]

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    
    </body>
    </html>
    
  2. 2

    Добавьте тэги VBScript. Создавая страницу с кодом VBScript, вам необходимо передать браузеру информацию о том, что далее идет скрипт. Вставьте в свой код такой HTML-тэг:

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    
    </script>
    </body>
    </html>
    
  3. 3

    Используйте VBScript на сервере ASP. Если вы пишете скрипт VBScript для ASP-сервера, указать то, что далее начинается скрипт, вы можете при помощи специального тэга:

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <%
    
    %>
    </body>
    </html>
    

    Реклама

  1. 1

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

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    document.write()
    </script>
    </body>
    </html>
    
  2. 2

    Добавьте текст, который должен быть отображен. В скобках добавьте текст, который необходимо отобразить на экране. Текст должен быть заключен в кавычки, чтобы обозначить его как строку.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    document.write("Hello World!")
    </script>
    </body>
    </html>
    
  3. 3

    Откройте HTML файл в браузере. Сохраните код в формате .HTML. Откройте получившийся файл при помощи Internet Explorer. На странице простым текстом должно отобразиться Hello World!.

    Реклама

  1. 1

    Объявите переменные. Переменные позволяют хранить данные, с которыми вы сможете работать позже. Объявить переменные необходимо при помощи команды dim прежде, чем присвоить им какие-либо значения. Вы можете объявить несколько переменных сразу. Переменные должны начинаться с буквы и могут содержать до 255 символов латиницы и цифр. В нашем примере объявим переменную «age»:

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    dim age
    </script>
    </body>
    </html>
    
  2. 2

    Присвойте переменным значения. Теперь, когда переменная объявлена, вы можете присвоить ей значение. Используйте знак равенства =, чтобы задать значение переменной. Вы можете использовать команду Write, чтобы отобразить переменную на экране и удостовериться в том, что все работает.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    dim age
    age = 30
    document.write(age)
    </script>
    </body>
    </html>
    
  3. 3

    Манипулирование переменными. Для работы с переменными вы можете использовать все математические операции. Эти операции записываются так же, как и любые математические операции. Все ваши переменные, включая те, в которые будет записываться результат всех манипуляций, должны быть предварительно объявлены.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    dim x
    dim y
    dim sum
    x = 10
    y = 5
    sum = x + y
    document.write(sum)
    'the page will display "15"
    </script>
    </body>
    </html>
    
  4. 4

    Создайте массив. Массив, по существу, представляет собой таблицу (строку), которая содержит более одного значения. Массив обрабатывается как одна переменная. Как и другие переменные, массивы тоже необходимо объявлять. Вы также должны указать количество переменных, которые могут храниться в массиве. Обратите внимание, что нумерация массива начинается с 0. Позже вы сможете обращаться к данным из массива.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    Dim names(2)
    Dim mother
    names(0) = "John"
    names(1) = "Jane"
    names(2) = "Pat"
    mother = names(1)
    </script>
    </body>
    </html>
    
  5. 5

    Создайте двухмерный массив. Вы также сможете создавать многомерные массивы, чтобы хранить большее количество данных. Объявляя массив, вы будете должны указать количество рядов и столбцов, которые он содержит.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    Dim table(2,2)
    'This will create a 3x3 table
    table(0,0) = "A" 
    table(0,1) = "B"
    table(0,2) = "C"
    table(1,0) = "D"
    table(1,1) = "E"
    table(1,2) = "F"
    table(2,0) = "G"
    table(2,1) = "H"
    table(2,2) = "I"
    </script>
    </body>
    </html>
    

    Реклама

  1. 1

    Узнайте разницу между процедурами и «sub» и «function». В VBScript существует два вида процедур: sub (подпрограммы) и function (функции). Эти два типа процедур позволяют вашей программе производить определенные действия.[2]

    • Процедуры Sub могут осуществлять действия, но не могут возвращать в программу значения.
    • Процедуры Function могут вызывать другие процедуры, а также возвращать значения.
  2. 2

    Напишите процедуру sub и вызовите ее. Вы можете использовать подпрограммы (sub), чтобы создавать задачи, которые ваша программа может вызвать позже. Используйте Sub и End Sub, чтобы добавить подпрограмму. Используйте Call, чтобы активировать подпроцедуру

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    Sub mysubproc()
    	document.write("This was written in a sub procedure")
    End Sub
    
    Call mysubproc()
    'This will display the message written in the sub procedure
    </script>
    </body>
    </html>
    
  3. 3

    Создайте процедуру function. Функции позволяют выполнять простые команды и возвращать программе значения. Процедуры-функции и формируют основу и функциональность вашей программы. Используйте Function и End Function, чтобы обозначить содержимое функции.

    <html>
    <head>
    <title>VBScript Test</title>
    </head>
    <body>
    <script language="vbscript" type="text/vbscript">
    Function multfunction(x,y)
    multfunction = x*y
    End Function
    
    document.write(multfunction(4,5))
    'This will use your function and insert 4 and 5 into the x and y variables. 
    'The result will be printed on the screen.
    </script>
    </body>
    </html>
    

    Реклама

Источники

Об этой статье

Эту страницу просматривали 16 382 раза.

Была ли эта статья полезной?

Содержание

  • 1 Основы VBScript
    • 1.1 Типы данных
    • 1.2 Переменные
    • 1.3 Область видимости и время жизни
    • 1.4 Присваивание значения переменной
    • 1.5 Скалярные переменные и массивы
    • 1.6 Константы
    • 1.7 Операторы
      • 1.7.1 Арифметические операторы
      • 1.7.2 Операторы сравнения
      • 1.7.3 Операторы конкатенции
      • 1.7.4 Логические операторы
      • 1.7.5 Оператор присваивания
      • 1.7.6 Очередность применения операторов
    • 1.8 Условные выражения
      • 1.8.1 Выражение If..Then..Else
      • 1.8.2 Выражение Select..Case
    • 1.9 Операторы цикла
      • 1.9.1 Оператор Do..Loop
      • 1.9.2 While..Wend
      • 1.9.3 For..Next
      • 1.9.4 For Each..Next
    • 1.10 Процедуры
    • 1.11 Выражение Execute
    • 1.12 Классы VBScript
      • 1.12.1 Определение свойств класса
      • 1.12.2 Создание и уничтожение экземпляра VB класса
      • 1.12.3 События Initialize и Terminate
  • 2 Примечания

Основы VBScript

Типы данных

В языке VBScript используется единственный тип данных – Variant (Вариант), который позволяет хранить в переменной число, строку, дату, булевское значение, ссылку на объект и другую информацию. Определить тип содержимого переменной можно с помощью набора функций: VarType, TypeName, IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject, которые будут рассмотрены ниже. Тип содержащейся информации еще называется подтипом варианта. Полный список подтипов приведен в следующей таблице:

Подтип Описание
Empty Переменной не присвоено значение. При использовании неинициализированной переменной в числовых выражениях, будет подставляться 0, а в строковых – пустая строка.
Null Переменная не содержит данных.
Boolean Булевская переменная может принимать значения True, или False.
Byte Целое число в диапазоне от 0 до 255.
Integer Целое число в диапазоне от -32 768 до 32 767.
Currency Число с фиксированной точкой в диапазоне от -922 337 203 685 477.5808 до 922 337 203 685 477.5807.
Long Целое число в диапазоне от -2 147 483 648 до 2 147 483 647.
Single Число с плавающей точкой одинарной точности. Для отрицательных значений допустимый диапазон

от -3.402823E38 до -1.401298E-45. Для положительных – от 1.401298E-45 до 3.402823E38.

Double Число с плавающей точкой двойной точности. Для отрицательных значений допустимый диапазон от

-79769313486232E308 до -4.94065645841247E-324. Для положительных — от 4.94065645841247E-324 до 1.79769313486232E308.

Date (Time) Содержит число, представляющее дату в диапазоне от 1-го января 100 года, до 31 декабря 9999 года.
String Последовательность символов. Максимальная длина в районе 2-х миллиардов знаков.
Object Объект.
Error Номер ошибки.

В зависимости от выражения, в котором участвует переменная, ее содержимое будет автоматически приведено к нужному типу. Рассмотрим такой пример:

 Option Explicit
 Sub TestVBScript

   Dim A, B
   A = 5
   B = "12"
   Application.MessageBox A + B, "", vbOkOnly

 End Sub

Так как в выражении участвует числовая переменная A, интерпретатор преобразует значение переменной B из строки «12» в число и просуммирует их:

VBScript.DataTypes.1.png

Изменим макрос так, чтобы переменная А тоже содержала строку:

 Option Explicit
 Sub TestVBScript

   Dim A, B
   A = "5"
   B = "12"
   Application.MessageBox A + B, "", vbOkOnly

 End Sub

Запустим его на выполнение. Теперь на экране появится результат слияния (конкатенции) двух строк, а не сумма их числовых представлений:

VBScript.DataTypes.2.png

Во избежании путаницы с автоматическим приведением типов, рекомендуется использовать функции конверсии: CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CSng, CStr.

Если результатом выражения должно быть именно слияние строк, а не сумма их числовых представлений, то следует использовать оператор & вместо +.

Переменные

Переменная – это удобное символьное обозначение области памяти, где приложение хранит некоторые данные. В процессе выполнения приложения значение переменной может изменяться. Перед использованием переменную следует объявить с помощью оператора Dim.

 Dim A

С помощью одного оператора можно объявить сразу несколько переменных, если перечислить их имена через запятую:

 Dim Left, Right, Top, Bottom

При объявлении нет необходимости в указании типа данных, так как все переменные имеют тип Variant.

Если в первой строке текста скрипта не указано Option Explicit, то использовать переменные можно без объявления. Но, такой путь может привести к трудно выявимым ошибкам. Достаточно один раз ошибиться в написании имени переменной в тексте программы, чтобы получить непредсказуемый результат. Мы рекомендуем всегда указывать Option Explicit и объявлять переменные.

Имя переменной должно соответствовать следующим требованиям:

  1. Начинаться с символа латинского алфавита;
  2. Состоять только из символов латинского алфавита или из символов латинского алфавита и цифр;
  3. Не превышать 255 символов в длину;
  4. Быть уникальным в пределах своей области видимости.

Область видимости и время жизни

Область видимости переменной определяется тем, где она была объявлена. Если внутри тела процедуры[1], то такая переменная называется локальной и доступна только в пределах этой процедуры. Если переменная объявлена в тексте скрипта, то она будет видима для всех процедур или функций определенных в этом скрипте. Локальные переменные могут иметь одинакове имена, если объявлены в разных процедурах.

В дереве Проводника окна Редактора скрипт-объектов присутствует специальный раздел – Константы и переменные – для объявления глобальных переменных, видимых для всех скрипт-функций проекта.

Интерпретатор выделяет память для локальных переменных в момент их объявления и высвобождает по выходу из процедуры. Глобальные переменные существуют с момента их объявления и пока скрипт не закончит свое выполнение. Применительно к Гедымину это означает, что глобальные переменные существуют на протяжении всего времени выполнения программы.

Присваивание значения переменной

Значение объявленной переменной присваивается с помощью оператора =. Имя переменной указывается слева от оператора, новое значение – справа. Например:

 A = 200
 B = "Наименование"

Скалярные переменные и массивы

Переменная содержащая единственное значение называется скалярной. Иногда, возникает необходимость хранить несколько значений в одной переменной. В этом случае следует объявить массив. Синтаксис объявления идентичен объявлению скалярной переменной за тем исключением, что после имени в круглых скобках мы задаем размерность массива. Следующее объявление создаст массив из 12 элементов:

 Dim Monthes(11)

В языке VBScript левая граница индекса массива всегда 0. Таким образом размер массива вычисляется, как число указанное в скобках плюс один. При присваивании значения элементу массива следует указать его индекс в круглых скобках:

 Monthes(0) = "Январь"
 Monthes(1) = "Февраль"
 Monthes(2) = "Март"
 ...
 Monthes(10) = "Ноябрь"
 Monthes(11) = "Декабрь"

Аналогично, при обращении к значению элемента мы используем его индекс:

 MonthName = Monthes(5)

Массив не обязательно должен быть одномерным. VBScript позволяет нам задать до 60 размерностей при объявлении массива. Например, следующий оператор создаст двумерный массив из 12 строк и двух колонок [2]:

 Dim MonthDays(11, 1)

При обращении к элементам многомерного массива следует указывать все индексы:

 MonthDays(0, 0) = "Январь"
 MonthDays(0, 1) = 31
 MonthDays(1, 0) = "Февраль"
 MonthDays(1, 1) = 28
 ...

Выше мы объявляли массивы, размер которых не меняется в процессе работы программы. Если заранее не известно сколько элементов понадобится, то можно объявить динамический массив:

 Dim A()

Перед использованием следует установить размер динамического массива с помощью оператора ReDim:

 ReDim A(25)

В процессе выполнения можно вызывать оператор ReDim многократно, каждый раз изменяя размер массива. Опция Preserve сохраняет значения элементов массива при изменении размера. Например, следующий код увеличит объявленный выше массив на пять элементов, оставив существующие нетронутыми:

 ReDim Preserve A(30)

Помните, что при уменьшении размера массива, значения удаленных элементов будут безвозвратно утеряны.
С помощью оператора Erase можно очистить элементы фиксированного массива или освободить память, занимаемую динамическим массивом.

 Dim A
 ReDim A(25)
 ...
 Erase A

Константы

Правилом хорошего тона является объявление констант для многократно используемых в тексте программы значений. Грамотно присвоенное имя константы улучшает читабельность, а само использование — упрощает процесс внесения изменений в код. В отличие от переменных, значение константы нельзя изменить в процессе выполнения программы. Создание константы происходит с помощью оператора Const:

 Const CountryName = "Belarus"
 Const CountryCode = 375

Несколько констант могут быть объявлены в рамках одного оператора, через запятую. Как и переменная, константа обладает своей областью видимости в зависимости от того, где (в процедуре или за ее пределами) и как (Public или Private) она была объявлена. Константы, созданные оператором Const без указания Public или Private являются общедоступными по-умолчанию.

В дереве Проводника окна Редактора скрипт-объектов присутствует специальный раздел – Константы и переменные – для объявления глобальных констант, видимых для всех скрипт-функций проекта.

Значения строковых констант заключаются в двойные кавычки.

Значения типа Дата следует обрамлять символами решетки (#) и использовать американский формат: месяц/день/год. Например:

 Const Public IndependenceDay = #03/25/1918#

Во избежание путаницы между константами и переменными рекомендуется использовать единый префикс для всех констант, например «con», или набирать имя константы в верхнем регистре.

Для облегчения труда программиста VBScript содержит набор предопределенных констант.

Операторы

Операторы VBScript подразделяются на пять категорий: арифметические, сравнения, слияния, логические и присваивания.

Арифметические операторы

Оператор Пример использования Описание
^ number ^ exponent Возводит number в степень exponent. Number может быть меньше нуля только в случае целочисленной степени. Если один из операндов Null, все выражение принимает значение Null. Если несколько возведений в степень выполняются подряд, результат вычисляется слева направо.
* number1 * number2 Произведение двух чисел. Если операнд имеет значение Empty, то он принимается равным нулю. Если хотя бы один из операндов Null, все выражение принимает значение Null.
/ number1 / number2 Вещественное деление двух чисел. Для операндов действуют правила аналогично оператору умножения.
number1 number2 Целочисленное деление. Перед вычислением оба операнда приводятся к типу Byte, Integer или Long. В остальном действуют правила как для оператора деления.
Mod number1 Mod number2 Остаток от целочисленного деления. Приведение операндов к целому, а также правила обращения с Empty и Null, как у целочисленного деления.
+ expression1 + expression2 Если оба операнда числа, результатом является их арифметическая сумма. Если оба операнда строки – слияние (конкатенция) двух строк. Если один операнд число, а другой строка, то строковый операнд будет преобразован в число и прибавлен к числовому. Если хотя бы один из операндов Null, все выражение принимает значение Null. Если оба операнда Empty, результат имеет целочисленное значение 0. Если только один оператор Empty, в качестве результата возвращается значение второго операнда.
number1 – number2 или — number В первом случае возвращает разность двух чисел. Во втором – инвертирует знак числа. Правила для операндов со значениями Null и Empty, как для оператора умножения.

Операторы сравнения

Формат использования операторов сравнения:

result = expression1 comparisonoperator expression2

где используются следующие операторы сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), = (равно), <> (не равно).

В зависимости от типов и значений операндов, сравнение осуществляется следующим образом:

Если То
Оба операнда числа. Выполняется сравнение двух чисел.
Оба операнда строки. Выполняется сравнение двух строк.
Один из операндов число, а второй строка. Строковый операнд приводится к числу и выполняется сравнение двух чисел.
Один из операндов Empty, а второй число. Операнд со значением Empty принимается равным 0.
Один из операндов Empty, а второй строка. Операнд со значением Empty принимается равным пустой строке «». Осуществляется сравнение двух строк.
Оба операнда Empty. Операнды считаются равными.
Хотя бы один из операндов Null. Результат принимает значение Null.

Специальный оператор Is применяется для сравнения двух объектных переменных и возвращает Истину, если обе переменных ссылаются на один и тотже экземпляр объекта.

Операторы конкатенции

В данной категории находятся два оператора: + и &. Первый подробно описан в разделе «Арифметические операторы» выше. Рассмотрим использование оператора &.

 result = expression1 & expression2

Если операнд не является строкой, он приводится к строковому типу. Если оба операнда Null, то результат также принимает значение Null, однако, в отличие от остальных операторов, если только один операнд Null, то он принимается равным пустой строке. Операнд, имеющий значение Empty, также воспринимается как пустая строка «».

Логические операторы

VBScript предоставляет нам следующие логические операторы:

  1. Логическое отрицание, инверсия (Not);
  2. Логическое умножение, коньюнкция (And);
  3. Логическое сложение, дизьюнкция (Or);
  4. Логическое исключение (Xor);
  5. Логический эквивалент (Eqv);
  6. Логическая импликация (Imp).

В качестве операндов логических операторов могут выступать булевские выражения или числовые значения. В первом случае результатом будет булевская константа, во втором – число. В зависимости от оператора подача на вход одного или двух значений Null может приводить к Null результату. Оператор Not является унарным и возвращает логическое отрицание выражения. Над числовым операндом оператор Not производит побитовую инверсию. Остальные логические операторы являются бинарными. В таблице ниже приведены результаты выполнения каждого из операторов в зависимости от значения операндов Exp1 и Exp2:

Exp1 Exp2 And Or Xor Eqv Imp
True True True True False True True
True False False True True False False
False True False True True False True
False False False False False True True
True Null Null True Null Null Null
False Null False Null Null Null True
Null True Null True Null Null True
Null False False Null Null Null Null
Null Null Null Null Null Null Null

В жизни чаще всего используются операторы And и Or и гораздо реже – Xor. Нам не приходилось сталкиваться с использованием на практике операторов Eqv и Imp. Если вам тяжело разбираться с приведенной выше таблицей резюмируем действие данных операторов:

  • And принимает значение Истина только если оба операнда Истина. В любом другом случае – это либо Ложь, либо Null.
  • Or принимает значение Истина, если хотябы один из операндов Истина.
  • Xor принимает значение Истина, если значения операндов различаются и Ложь, если они одинаковы.

При побитовом выполнении над числовыми операндами результат логического оператора определяется по следующей таблице:

Exp1 Exp2 And Or Xor Eqv Imp
0 0 0 0 0 1 1
0 1 0 1 1 0 1
1 0 0 1 1 0 0
1 1 1 1 0 1 1

Оператор присваивания

Оператор присваивания (=) подробно описан в разделе «Переменные».

Очередность применения операторов

Если выражение содержит несколько операторов, то они применяются в соответствии с установленным порядком, который называется приоритетом операторов. Изменить порядок по-умолчанию можно с помощью круглых скобок. Выражение внутри скобок всегда вычисляется в первую очередь.

В выражении, содержащем операторы разных категорий, арифметические действия выполняются в первую очередь, затем выполняются операторы сравнения и, в последнюю очередь, — логические операторы. Все операторы сравнения имеют одинаковый приоритет и вычисляются слева-направо. Арифметические и логические операторы вычисляются в следующем порядке:

  1. Возведение в степень (^);
  2. Смена знака числа, унарный минус (-);
  3. Умножение (*) и деление (/);
  4. Целочисленное деление ();
  5. Остаток от целочисленного деления (Mod);
  6. Сложение (+) и вычитание (-);
  7. Слияние строк (&).

Если умножение и деление встречаются в одном выражении, то операции выполняются в порядке следования слева-направо. Аналогичное правило действует в случае одновременного присутствия операторов сложения и вычитания.

Оператор слияния строк (&) не является арифметическим и по приоритету располагается между арифметическими операторами и операторами сравнения.

Очередность для логических операторов установлена следующая:

  1. Логическое отрицание, инверсия (Not);
  2. Логическое умножение, коньюнкция (And);
  3. Логическое сложение, дизьюнкция (Or);
  4. Логическое исключение (Xor);
  5. Логический эквивалент (Eqv);
  6. Логическая импликация (Imp).

Условные выражения

Условные выражения применяются для управления порядком выполнения команд программы и позволяют организовать переходы (ветвления) и повторения команд. Как правило, операторы сравнения используются вместе с условными выражениями.

Выражение If..Then..Else

Выражение условного перехода If позволяет выполнить ту или иную группу команд в зависимости от результата логического выражения или значения булевской переменной.

Для выполнения единственной команды при выполнении заданного условия используется однострочный синтаксис выражения:

 Dim S
 If DatePart("w", Now) = vbMonday Then S = "Понедельник"
 Application.MessageBox S, "", vbOkOnly

Обратите внимание, что секция Else в этом случае опущена. Для выполнения группы операторов следует заключить их между ключевыми словами Then и End If.

 Dim S
 If DatePart("w", Now) = vbMonday Then
   S = "Сегодня понедельник"
   Application.MessageBox S, "", vbOkOnly
 End If

Если при выполнении условия требуется выполнить один код, а при невыполнении – другой, то используется синтаксис выражения с секцией Else:

 Dim S
 If DatePart("w", Now) = vbMonday Then
   S = "Сегодня понедельник"
 Else
   S = "Сегодня не понедельник"
 End If
 Application.MessageBox S, "", vbOkOnly

При необходимости выбора из нескольких альтернатив подойдет синтаксис с конструкцией ElseIf:

 Dim S, D
 D = DatePart("w", Now) 
 If D = vbMonday Then
   S = "Понедельник"
 ElseIf D = vbTuesday Then
   S = "Вторник"
 ElseIf D = vbWednesday Then
   S = "Среда"
 ...
 End If
 Application.MessageBox S, "", vbOkOnly

Выражения If могут быть вложенными:

 Dim S, D
 D = DatePart("w", Now)
 If D = vbMonday Then
   S = "Понедельник"
 Else
   If D = vbTuesday Then
     S = "Вторник"
   Else
     If D = vbWednesday Then
       S = "Среда"
     Else
       ...
     End If
   End If
 End If

Хотя количество секций ElseIf в условном выражении не ограничено, интенсивное их использование может привести к запутанному, неудобочитаемому коду. В случае выбора одной альтернативы из множества возможных в зависимости от значения некоторого селектора рекомендуется использовать выражение Select Case.

Выражение Select..Case

Перепишем пример с днями недели с использованием выражения выбора:

 Dim S
 Select Case DatePart("w", Now)
   Case vbMonday
     S = "Понедельник"
   Case vbTuesday
     S = "Вторник"
   Case vbWednesday
     S = "Среда"
   ...
   Case Else
     Err.Raise 32000, "", "Неизвестный день недели"
 End Select

Так как выражение селектора вычисляется только один раз, использование Select..Case приводит к более эффективному коду.
Рекомендуется всегда использовать секцию Case Else для отлавливания некорректных или необработанных значений селектора.

Операторы цикла

Довольно часто возникает ситуация, когда код требуется запустить повторно. Для этого следует написать оператор цикла, который повторяет определенные команды снова и снова. Операторы цикла используются во многих ситуациях: при вычислении итоговой суммы по списку чисел, перемещении по записям набора данных или для запуска блока кода для нескольких объектов. Существует несколько циклов, описанных в следующих разделах. Некоторые из них выполняются, пока условие имеет значение Истина, некоторые – пока Ложь. И, наконец, есть такие, которые выполняются заданное число раз.

Оператор Do..Loop

Данный оператор предназначен для выполнения группы команд пока заданное условие Истинно или до тех пор, когда оно не станет Истинным. Проверка условия может осуществляться как в начале цикла:

 Do [{While | Until} condition]
    [statements]
    [Exit Do]
    [statements]
 Loop 

так и в конце:

 Do
  [statements]
  [Exit Do]
  [statements]
 Loop [{While | Until} condition]

Команда Exit Do может встречаться неограниченное число раз в теле цикла. Обычно она используется вместе с условным выражением If..Then и позволяет передать управление на оператор, следующий непосредственно за циклом. При использовании Exit Do внутри вложенного цикла, управление перейдет во внешний цикл.

Следующий код позволяет заменить игральный кубик:

 Dim Resp, Num
 Do
   Num = Int(6 * Rnd + 1)
   Resp = Application.MessageBox(Num & " Еще число?", "",_
     vbYesNo or vbQuestion)
 Loop Until Resp = vbNo

While..Wend

Представляет собой усеченную версию оператора Do..Loop и позволяет выполнять группу команд пока условие Истинно. Синтаксис оператора:

 While condition
   [statements]
 Wend

Обратите внимание, что Exit Do не действует внутри данного цикла. Циклы While..Wend могут быть вложенными.

For..Next

Данный цикл повторяет заданный набор команд указанное число раз. Синтаксис оператора имеет вид:

 For counter = start To end [Step step]
   [statements]
   [Exit For]
   [statements]
 Next

Перед стартом цикла переменной counter присваивается значение start. Далее проверяется выполнение условия counter <= end, при step >= 0, или counter >= end, при отрицательном шаге. После выполнение блока команд переменная counter увеличивается на значение step и все повторяется сначала.

Изменение счетчика в теле цикла не запрещено, но настоятельно не рекомендуется, так как затрудняет понимание логики программы и ее отладку.

Exit For может встречаться в теле цикла произвольное число раз. Циклы могут быть вложенными. Например, такой цикл инициализирует трехмерный массив:

 Dim A(9, 9, 9)
 Dim I, J, K
 For I = 0 To 9
   For J = 0 To 9
     For K = 0 To 9
       A(I, J, K) = 1
     Next
   Next
 Next

For Each..Next

Оператор цикла For Each..Next повторяет заданный набор команд для каждого элемента массива или коллекции и имеет следующий синтаксис:

 For Each element In group
   [statements]
   [Exit For]
   [statements]
 Next

Цикл выполняется, если в массиве или коллекции присутствует хотябы один элемент. Exit For может встречаться в теле цикла произвольное количество раз.

Проиллюстрируем использование For Each..Next на примере следующего кода, который выводит на экран список файлов из корневого каталога диска с:

  Dim fso, f, f1, fc, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f = fso.GetFolder("c:")
  Set fc = f.Files
  For Each f1 in fc
     s = s & f1.name & vbNewLine
  Next
  Application.MessageBox s, "Файлы на c:", vbOkOnly

Процедуры

Для экономии памяти и структурирования программы, фрагмент кода, вызываемый многократно в разных местах, может быть оформлен ввиде процедуры. В языке VBScript существуют два вида процедур: подпрограммы (Sub) и функции (Function). Подпрограмма – это последовательность операторов, обрамленная ключевыми словами Sub и End Sub. Подпрограмма может принимать на вход параметры, но не возвращает значения. Функция – последовательность операторов, заключенная между Function и End Function, — возвращает результат и поэтому может быть использована в выражении. Каждая процедура должна иметь имя, уникальное в пределах модуля. Имена процедур, объявленных в глобальном модуле, должны быть уникальны в рамках всего проекта.

Определение подпрограммы и функции имеет следующий синтаксис:

 [Public [Default] | Private] Sub name [(arglist)]
   [statements]
   [Exit Sub]
   [statements]
 End Sub
 [Public [Default] | Private] Function name [(arglist)]
   [statements]
   [Exit Function]
   [statements]
 End Function

Public процедуры являются глобальными и доступны во всех скриптах программы. Private процедуры доступны только в том скрипте, где они были объявлены. Если не указано иное, объявленная процедура является общедоступной. Ключевое слово Default может быть использовано только в теле класса и служит для указания метода по-умолчанию этого класса.

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

 [ByRef | ByVal] varname [, ...]

Параметры могут передаваться по значению (ByVal) или по ссылке (ByRef). По-умолчанию все параметры передаются по значению. Константы, результаты вычисления выражений могут быть переданы только по значению. Изменение параметра, переданного по ссылке, приведет к изменению значения наружной переменной. Поясним передачу параметров внутрь процедуры на следующем примере:

 Sub DoCalculation(ByRef A, ByVal B, ByVal C)
   A = C * 2
   B = C / 2
 End Sub

 Sub TestVar
   Dim V1, V2
   V1 = 1
   V2 = 2
   DoCalculation V1, V2, 10
   ' После выполнения процедуры DoCalculation
   ' V1 = 20
   ' V2 = 2
 End Sub

Переменные, объявленные внутри тела процедуры, являются локальными и уничтожаются по завершении ее выполнения. Значения локальных переменных не сохраняются.

Список параметров указывается в круглых скобках при вызове функции или при вызове подпрограммы с помощью оператора Call[3]. Так, вызов процедуры DoCalculation в приведенном выше примере мы могли написать следующим образом:

 Call DoCalculation(V1, V2, 10)

Выражение Execute

Классы VBScript

VBScript позволяет создавать новые классы, которые в дальнейшем мы будем называть VB классами. Вообще говоря, полноценными классами в понимании объектно-ориентированного программирования они не являются, поскольку не поддерживают наследование и, соответственно, полиморфизм. Так что из трех китов, на которых базируется объектно-ориентированная парадигма остается только инкапсуляция — возможность объединять в рамках одной сущности данные и методы.

Определение класса осуществляется с помощью следующей конструкции:

 Class name
   statements
 End Class 

где name — это имя класса, а statements — это одно или несколько определений переменных, свойств, процедур или функций, называемых так же членами класса. Обратите внимание, что в отличие от Delphi, где код определения класса содержит только объявления процедур и функций, в VB классе код членов прописывается прямо в тексте класса.

Члены класса могут быть объявлены как Private или Public. Первые видны только внутри кода данного класса, вторые же доступны как для внутреннего кода, так и снаружи. Если переменная или функция (процедура) не содержат явного определения Public или Private, то они считаются общедоступными. Процедуры или функции объявленные как Public внутри блока класса становятся методами данного класса.

Переменные, объявленные как общедоступные, становятся свойствами класса наравне со свойствами объявленными непосредственно с помощью конструкций Property Get, Property Let, Property Set.

Определение свойств класса

Выше мы уже говорили о том, что поля класса явно или не явно объявленные как Public, становятся его свойствами. Кроме этого, создать свойство класса можно определив специальные функции для считывания значения свойства (Property Get), а также для его присвоения (Property Let или Property Set).

Синтаксис определения таких функций следующий:

 [Public [Default] | Private] Property Get name [(arglist)]
   [statements]
   [[Set] name = expression]
   [Exit Property] 
   [statements]
   [[Set] name = expression]
 End Property

 [Public | Private] Property Let name ([arglist,] value)
   [statements]
   [Exit Property] 
   [statements]
 End Property

 [Public | Private] Property Set name([arglist,] reference)
   [statements]
   [Exit Property] 
   [statements]
 End Property

Определив только одну функцию, считывания или присвоения, можно создать свойство, соответственно, только для чтения или записи. Процедура Property Let используется для присвоения простых типов данных, а Property Set для передачи ссылки на объект. Обратите внимание, что все три функции могут принимать на вход произвольный список параметров. Таким образом можно организовать, например, свойства-массивы, передавая в качестве аргумента индекс элемента.

Создание и уничтожение экземпляра VB класса

Создание экземпляра VB класса осуществляется с помощью оператора New.

 Dim X
 Set X = New classname 

Уничтожение ранее созданного экземпляра происходит автоматически по завершении блока кода, где была объявлена соответсвующая переменная и при условии, что на нее нет внешних ссылок. Если необходимо уничтожить экземпляр вручную, то необходимо присвоить значение Nothing переменной.

 ‘ объявление переменной и создание экземпляра класса
 Dim X
 Set X = New classname 
 
 ...
 ‘ использование экземпляра класса
 ...

 ‘ уничтожение экземпляра класса
 Set X = Notning

 ...

События Initialize и Terminate

Событие Initialize происходит при создании экземпляра класса, а Terminate — при его уничтожении. Разработчик может определить свои обработчики данных событий. Ниже приведен пример использования событий создания и удаления объекта:

 Class TestClass

   ' Определение обработчика события Initialize.
   Private Sub Class_Initialize         
     MsgBox("TestClass started")
   End Sub

   ' Определение обработчика события Terminate.
   Private Sub Class_Terminate   
     MsgBox("TestClass terminated")
   End Sub

 End Class

 ' Создание экземпляра класса TestClass.
 ' На экран будет выведено сообщение "TestClass started" 
 Set X = New TestClass   

 ' Уничтожение экземпляра.
 ' На экран будет выведено сообщение "TestClass terminated" 
 Set X = Nothing

Примечания

  1. Очевидно, что сказанное в раной мере применимо и к функциям.
  2. При объявлении двумерного массива первое число всегда задает количество строк, а второе – колонок.
  3. Здесь авторы VBScript отличились своей непоследовательностью. Допускается использование круглых скобок без оператора Call при вызове процедуры с единственным параметром.

Моховой Алексей
wanderfly@chat.ru

Все примеры скриптов действуют только в MSIE 3.0 и выше!

Предисловие

Я не ошибусь, если назову Бейсик (BASIC — Begginners Allpurpose Symbolic Instruction Code, т.е
символический командный универсальный код для начинающего :) самым простым языком программирования. Даже
при небольшом опыте, программы можно писать практически не задумываясь. Свою историю этот
язык программирования высокого уровня начал в далеком 1963 году. Именно тогда небольшой
группой студентов последнего курса Дортмутского колледжа под чутким руководством профессора
Дж. Кемени и была разработана самая первая версия этого языка. В то время, помимо Бейсика, широко были
распространены также Fortran, Cobol, Algol, PL/1, Focal и Pascal. Из них, до настоящего времени дожили,
пожалуй лишь Паскаль и Бейсик, сильно изменившись при этом.

Как это не прискорбно для ярых противников
Microsoft, но именно эта компания способствовала широкому распространению Бейсика (вспомним Quick Basic).
По моему опыту писать на нем было удобнее, чем на Turbo Bacic компании Borland, которая более известна по
языку C++. Повсеместная «Виндуализация» PC компьютеров, вынудила к разработке версии Бейсика для Windows
приложений. Таким клоном в 1991 году стал Visual Basic, позволяющий визуально создавать прикладные программы, довольно
приличного уровня. Но все же, по моему мнению, из за простоты Visual Basic сдает свои позиции тем же Си и Java. С появлением
всемирной сети Internet, и языка HTML стало возможным создание активных приложений на веб страницах. Единственным
языком для этих целей был Java Script. Да, именно был. Когда свет увидел Microsoft Internet Explorer 3.0, в нем, помимо
поддержки Java script появилась и поддержка Visual Basic Scripting Edition, или просто VBscript. Как известно,
JavaScript был разработан Netscape и поначалу стал известен как LiveScript. После шумихи вокруг Java,
Netscape переименовала его в JavaScript, когда получила лицензию от Sun. Microsoft самостоятельно разработала
JScript для своего броузера, за что правда тоже не избежала разбирательств с Sun.

Кроме Java, MSIE3.0 (и выше), может
еще и исполнять программы на VBScript. Netscape Navigator не поддерживает пока (надеюсь, что пока) VBScript, поэтому
этот язык не очень широко применяется, а многим даже не известен. А жаль, человеку умеющему писать на обычном QB достаточно
месяца, а то и меньше, чтобы перейти на VBscript и создавать красивые активные веб страницы, ни чем не уступающие
страницам с JavaScript и даже во многим превосходящие их. Поэтому, если с надеждой смотреть в будущее, то изучить
VBScript можно уже сейчас. В этой статье я попытаюсь рассказать основы VBScript, не вдаваясь в тонкости. Моя цель,
только заинтересовать рядового пользователя и начинающих WebДизайнеров. Вот и все из истории:) Начнем.

Cравнение VBScript и JavaScript

Прежде чем начинать познавать VBScript, давайте сравним две одинаковые, простые программы на JS и VBS. Это
будет полезным для тех, кто знает JavaScript (к коим я не отношусь:(.
Суть программы: вводим текст в верхнее поле, нажимаем кнопку «Скопировать» и текст копируется в нижнее поле.

Java Script VB Script
<FORM NAME=forma>
<INPUT TYPE="text" NAME="text1"><BR>
<INPUT TYPE="text" NAME="text2"><BR>
<INPUT TYPE="button" NAME="knopka"
VALUE="Скопировать" OnClick=copyfun()>
</FORM>

<SCRIPT LANGUAGE="JavaScript">
function copyfun() {
  var copytext;
  copytext=document.forma.text1.value;
  document.forma.text2.value=copytext;
}
</SCRIPT>
<FORM NAME=forma>
<INPUT TYPE="text" NAME="text1"><BR>
<INPUT TYPE="text" NAME="text2"><BR>
<INPUT TYPE="button" NAME="knopka"
VALUE="Скопировать" OnClick=copyfun()>
</FORM>

<SCRIPT LANGUAGE="VBScript">
sub copyfun
  dim copytext
  copytext=document.forma.text1.value
  document.forma.text2.value=copytext
end sub
</SCRIPT>

Да, как видно, различий практически нет. JS поддерживает только функции, VBS и функции
и процедуры (подпрограммы). Так же следует отметить, что VBS отличие от JS не чувствителен
к регистру символов, т.е. для него что copyfun(), что CoPYfuN() — один пес:). Так что можете
сделать выводы, тем, кто знает ява скрипт, будет легко освоить VBS, а тем кто не знает пока ни
того не другого будет еще легче, поскольку переучиваться не придется. Учиться лучше на примерах,
поэтому постараюсь их здесь приводить побольше. Я надеюсь, что Вы хотя бы умеете писать программы
на обыкновенном Бейсике (QB или TB)? Тогда эта статья именно для Вас.

От QuickBasic до VBscript — один шаг

Начнем изучение не стандартным подходом. Обычно сначала все пишут программу, выводящую на экран
строку «ПРИВЕТ ПИПЛЫ :)» Мы же попробуем перевести обычную «Бейсиковскую» программу — на VBscript, чтобы показать —
как между ними много общего.

Поставим задачу, написать программу, которая бы случайным образом загадывала число от 1 до 100, и
предлагала Вам его угадать. При неправильном предположении, программа должна выводить сообщение о том,
больше загаданное число или меньше. Ведется подсчет попыток. В случае победы выводится поздравление.

Программа на обычном Бейсике:

10 CLS : RANDOMIZE
20 a = INT ( RND(1)*100+1 ) : p = 1
30 PRINT "Загадано число от 1 до 100, угадайте его:)"
40 PRINT "Ваш вариант";
50 INPUT v

60 IF a > v THEN PRINT "Загаданное число больше" :

      p = p + 1 : GOTO 40

70 IF a < v THEN PRINT "Загаданное число меньше" :

      p = p + 1 : GOTO 40

80 IF a = v THEN PRINT "Ура! Вы победили за";p;"ходов"

90 END

Как видите, такая программа пошла бы даже на БК0010:) Я даже оставил ненавистные операторы GOTO (интересно, об них
еще помнят?). Для тех кто не понимает, опишу алгоритм:

10 очистка экрана и включение генератора случайных чисел.
20 переменной "a" присваивается целое случайное значение
  от 1 до 100, счетчику числа попыток присваивается 
  значение=1.
30, 40 выводится сообщение.
50 ввод Вашего варианта "v".
60 если загаданное число больше Вашего варианта, то
   выводится сообщение, на единицу увеличивается счетчик
   попыток и программа отправляется на строку 40.
70 если загаданное число меньше Вашего варианта, то 
   выводится сообщение, на единицу увеличивается счетчик
   попыток и программа отправляется на строку 40.
80 Если числа совпадут то выводится поздравление, кстати,
   по идее, проверку этого условия можно и опустить.
90 THE END

Код типичной страницы со скрипт программой будет
выглядеть примерно так:

<html>
<head>
<title>Угадай число</title>
</head>
<body bgcolor="white" text="black">
< ... html код формы взаимодействия с VB программой ... >
<script language="VBscript">

... код программы ...

</script>
</body>
</html>

Итак, напишем программу реализующую заданные условия с помощью VBscript

Нажмите на кнопку «Загадать число» и угадайте его:)

КОД ПРОГРАММЫ:

<FORM NAME=ugadai>
<INPUT TYPE="button" NAME="begin"
VALUE="Загадать число"><BR><BR>
Ваш вариант:<BR>
<INPUT TYPE="text" NAME="chislo">
<BR>
<INPUT TYPE="button" NAME="but"
VALUE="Enter">
</FORM>

<!--******************* угадай число ************************-->
<script language="vbscript"><!--
dim a		' определяем переменные
dim p
dim v

sub begin_onclick 	' процедура срабатывающая при нажатии
			  (событие onclick)
			' кнопки с именем begin
 randomize		' включение генератора случайных чисел
 a=int(rnd(1)*100+1)	' присваивание переменной (a) случайного
			  значения
 p = 1			' обнуление счетчика
 alert "число загадано" ' вывод сообщения в отдельном окне 
end sub			' конец процедуры

sub but_onclick		' процедура срабатывающая при нажатии
			 (событие onclick) кнопки с именем but

 v = document.ugadai.chislo.value 

' переменной (v) присваивается значение 
' содержащееся в поле ввода формы
' путь: документ (просто эта html страница).форма с именем ugadai.
' объект- поле для ввода с именем chislo. свойство value

 v=cint(v)	' поскольку поле для ввода содержит текстовую
		' информацию, то переменную (v) надо преобра-
 		' зовать в целочисленный тип (функция cint)

 if a > v then
   alert "загаданное число больше, попробуйте еще"
   p = p + 1
 end if

 if a < v then
   alert "загаданное число меньше, попробуйте еще"
   p = p + 1
 end if 
   
 if a = v then		  
   document.write"<center>Победа за "&p&" ходов.</center>"
 end if
		' оператор document.write выводит содержащуюся
		' в кавычках информацию в новое окно броузера
		' как html код.
				
end sub
--></script>

Если вдуматься и внимательно изучить приведенный код, то думается многое станет
ясным. Ответим на некоторые вопросы, которые могут возникнуть по ходу осмысления программы:
1. Что бы произошло, если бы мы в начале скрипта не объявили переменные? Тогда
бы значение переменной «a» заданной в процедуре «sub begin_onclick» не было «видно» в других
процедурах (например «sub but_onclick» ). Это упущение приведет или к ошибке, или к тому, что значению
«a» не будет ничего присвоено. Можно также воспользоваться оператором «public a» вместо «dim a» тогда значение
«a» станет видным во всех открытых на данный момент документах, это актуально при фреймовой структуре. Если написать
«dim a(100)» то будет задан массив из сотни переменных «a», в точности как в обычном Бейсике. Во многих случаях
переменные можно и не объявлять, если тело программы находится в одной процедуре.
2. Что такое эти процедуры? Процедура это общее название функций или подпрограмм. Имеет синтаксис:
sub name_событие ……. end sub.
name — это имя процедуры, например мы написали, что кнопка «загадать число» называется «chislo», значит
подпрограмма sub chislo_onclick выполнится при нажатии на эту кнопку.
событие — то, что может «случиться» в окне броузера. Например «onclick» означает, что процедура выполнится,
при нажатии на кнопку, предварительно заданную в форме (как в нашем случае). Существует несколько видов событий.
Из самых распространенных можно отметить: window_onload — запускается при полной загрузке документа:

<Script language="VBscript"><!--
Sub window_onload
Alert "Добро пожаловать на мою домашнюю страницу!"
end sub
--></Script>

При загрузке документа появится окошко с данной надписью и кнопкой ОК

Событие onmouseover — возникает при наведении указателя мыши на гипер ссылку.

Наведите на эту ссылку указатель мыши

Пример:

<a href="http://wanderfly.da.ru/" name="link">
Наведите на эту ссылку указатель мыши</a>
<script language="vbscript"><!--
sub link_onmouseover
alert "ссылка"
end sub
--></script>

Разумеется, данный пример Вы можете использовать только как шутку на ссылку «xxx», потому что нажать на нее
невозможно:) Но если поменять alert «ссылка» на status=»Моя домашняя страница»,
то это сообщение появится в строке статуса.

Каков полный синтаксис операторов указывающих как «добраться» до данных в поле ввода?

x = top.имя_фрейма.document.имя_формы.имя_объекта_text_box.value
Таким образом, можно добраться до любых данных в окне броузера, даже если они расположены в другом фрейме.

Подведем первые итоги. VBscript перенял от обычного Бейсика большинство операторов и функций (математических,
преобразования данных и т.д.). Отличие выражается в специфических операторах ввода-вывода информации из окна
броузера и возможных событиях, которые могут «случиться» при взаимодействии пользователя и страницы.

Справочная информация. Некоторые операторы и функции

Чтобы Вам было легче экспериментировать в написании скриптов, приведем основные операторы и функции
VBscript. А то начнете писать PRINT «привет» или пытаться закончить цикл For оператором Next x :)

СИНТАКСИС ПРИМЕР ОПИСАНИЕ

Операторы работы с массивами.

Dim имя_массива (индексы) dim a(10),b(20,30) Объявление массива
Erase имя_массива erase a Очистка содержимого массива

Операторы присваивания.

переменная = значение a=137 a=b c=»привет» Присваивание
Set переменная = объект set a=document.forma1 Присваивание переменной значени ссылки на объект.

Комментарии.

‘ комментарии ‘ текст  
Rem комментарии rem текст  

Константы Boolean.

переменная = False if a=false then … Значение типа boolean равное 0
переменная = True if a=true then … Значение типа boolean равное -1

Функции.

Abs (число) a = abs(-1.34) … a=1.34 Абсолютное значение числа
Asc (символ) a = asc(«s») … a=115 ANSI код символа
Chr (число) a = chr(115) … a=»s» Символ соответствующий коду
Fix (число) a = fix(-1.5) … a=-1 Целое число, округление
Int (число) a = int(-1.5) … a=-2 Целое число, округление
Hex (число) a = hex(543) … a=»21F» Шестнадцатиричное представление
Oct (число) a = oct(543) … a=»1037″ Восьмеричное представление
Sgn (число) a = sgn(-1.3) … a=-1 Знак числа
Date a = date … a=

Текущая дата
Day(выражение) a = day(date) … a=

День
Time a = time … a=

Время
Timer a = timer … a=

Количество секунд истекших после полуночи
Now a = now … a=

Дата и время
Hour(выражение),
Minute(выражение),
Month(выражение),
Second(выражение),
Year(выражение),
Weekday(выражение)
a = hour(now) … и т.д. Час
Минута
Месяц
Секунда
Год
День недели (вск=1)
Atn (число) a = atn(0.37) Арктангенс
Tan (число) a = tan(0.37) Тангенс
Cos (число) a = cos(0.37) Косинус
Sin (число) a = sin(0.37) Синус
Exp (число) a = exp(0.37) Экспонента
Log (число) a = log(0.37) Логарифм
Sqr (число) a = sqr(0.37) Квадратный корень
Rnd (число) a = rnd(1) Случайное число 0..1
Randomize Randomize Установка генератора случайных чисел в исходное состояние

Операторы используемые в выражениях

Привожу просто список, надеюсь все и так ясно:
+ And / = Eqv ^ > <= Imp <> < => Mod * — Or & Xor

Текстовые Функции

Instr (начало, строка, искомая подстрока) If Instr(1,mail,@) then … Возвращает номер символа в строке с которого начинается исходная подстрока
Lcase (строка) a=Lcase(«ПРивЕТ») … a=»привет» Преобразование символов строки в строчные буквы
Ucase (строка) a=Ucase(«ПРивЕТ») … a=»ПРИВЕТ» Преобразование символов строки в заглавные буквы
Left (строка,N символов) a=Left(«Привет»,3) … a=»При» Левая часть строки длинной N символов
Right (строка,N символов) a=Right(«Привет»,3) … a=»вет» Правая часть строки длинной N символов
Len (строка) a=Len(«Привет») … a=6 Длина строки
Ltrim (строка) a=Ltrim(» Привет «,) a=»Привет « Удаляет начальные пробелы
Rtrim (строка) a=Rtrim(» Привет «,) a=» Привет» Удаляет конечные пробелы
Trim (строка) a=Ttrim(» Привет «,) a=»Привет» Удаляет начальные и конечные пробелы
Mid (строка, начало, N символов) a=Mid(«Привет»,3,2) a=»ве» Часть строки с позиции «начало» и длиной N символов
Left(строка,N символов) a=Left(«Привет»,3) a=»При» Левая часть строки длинной N символов
Space (N) a=Space(5) Строка из N пробелов
String (N символов, символ) a=String(5,»A») a=»AAAAA» Строка из N символов
Ltrim (строка) a=Ltrim(» Привет «,) a=»Привет « Удаляет начальные пробелы

Ветвление и циклы

Call имя_событие Call but_onclick Вызов подпрограммы
Do

Loop Until условие
Do
a=a+1
Loop Until a>=5
Выполняет код хотя бы один раз, пока условие не будет истинным
Do

Loop While условие
Do
a=a+1
Loop While a<5
Выполняет код хотя бы один раз, пока условие справедливо
Do Until условие

Loop
Do Until a>=5
a=a+1
Loop
Повторяет выполнение кода, пока условие не станет истинным
Do While условие

Loop
Do While a<5
a=a+1
Loop
Повторяет выполнение кода, пока условие справедливо
For счетчик=начало To конец Step шаг

next
For i=1 to 5
a=a+1
next
Цикл (заметьте: пишется «next» а не «next i»)
IF условие Then
действие1
Else
действие2
End if
IF a>1 Then alert»больше» Выполнение кода при выполнении условия
Select Case X
Case значение1
действие
Case значение2
действие2

End select
Select Case X
Case 10
alert»x=10″
Case 20
alert»x=20″
End select
Выборочное выполнение кода при совпадении значения
While условие
действие
Wend
While a<5
a=a+1
Wend
Выполнение кода пока условие истинно

Oбъявление функций и процедур

Dim переменная Dim a Объявление переменной
Sub имя_событие
код
End sub
Sub but_onclick
Alert x
End sub
Подпрограмма
Function имя(параметры)
код
End function
Function(x,y)
x=x*y
End function
Функция
Exit … Exit Do (For, Function, Sub) Досрочный выход

Как вызвать сценарий в VBscript

Веб страница с активным содержимым, всегда делится как бы на две части: Первая, это
html код самой страницы содержащий необходимые элементы управления (ссылки, кнопки, формы
для ввода информации и т.д.), и Вторая, сценарии на скрипте, которые начинают работать при
различных событиях происходящих с элементами управления. Это можно назвать главной
отличительной особенностью программ для веб страниц, от обычных исполняемых приложений.

Рассмотрим основные приемы вызова сценариев, или процедур.

Сценарий вызываемый неявно:

<html>
 <head>
   <script language="VBScript">
	Sub but_onclick
	 Alert "Привет пиплы:)"
	End sub
   </script>
 </head>

 <body>
   <form>
	<input type="button" name="but">
   </form>
 </body>
</html>

Такой способ, по моему мнению, самый простой. Указываем имя оператором
name=»имя» в теге характерризующим элемент управления, это же «имя» пишем в вызываемой
процедуре и через знак подчеркивания пишем событие, которое должно произойти для исполнения
сценария.

Вызов сценария определяемый в элементе управления:

<html>

 <head>
   <script language="VBScript">
	Sub scenariy
	 Alert "Привет пиплы:)"
	End sub
   </script>
 </head>

 <body>
   <form>
	<input type="button" name="but" _
      onclick="scenariy" language="VBScript">
   </form>
 </body>
</html>

Такой способ обрадует приверженцев Java Script. Среди его преимуществ, перед первым
методом можно отметить то, что один и тот же сценарий можно вызывать из разных
элементов управления.

Автоматический вызов сценария:

<html>
 <body>
   <script language="VBScript">
	Alert "Привет пиплы"
   </script>
</body>
</html>

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

Вызов из другой процедуры:

<html>
 
 <head>
   <script language="VBScript">
	Sub but_onclick
	  Call butalert("Привет пиплы")
	End Sub

	Sub butalert(a)
	  Alert a
	End Sub
    </script>
 </head>

<body>
   <form>
	<input type="button" name="but" _
      onclick="scenariy" language="VBScript">
   </form>
 </body>
</html>

Все способы, кроме автоматического вызова сценария, чисто визуально будут выглядеть так:

Основные типы данных VBscript

Наверное, те кто знаком со «старым» бейсиком, еще помнят, что для обозначения
символьной переменной надо было писать знак бакса или солнышка (a$=»привет»).
В VBscript этого делать не следует, он имеет только один тип данных, называемый
VARIANT. Он может содержать как символы так и числа разной точности. Поэтому для
того, чтобы точно определить тип данных, желательно использовать функции преобразования.
К примеру, текст вводимый в поле формы имеет текстовый формат, и попытка сложить
цифру «3» с цифрой «2» приведет к результату «32»:

<Script language="VBscript">
sub summa
 	  summatext1=document.formasum.summa1.value
	  summatext2=document.formasum.summa2.value
	  alert summatext1+summatext2
end sub
</Script>

Поэтому надо сделать так, чтобы переменные summatext1 и summatext2 были
преобразованы в целые числа функцией Cint(переменная):

<Script language="VBscript">
sub summa
 	  summatext1=Cint(document.formasum.summa1.value)
	  summatext2=Cint(document.formasum.summa2.value)
	  alert summatext1+summatext2
end sub
</Script>

Подтипы данных VARIANT.

ПОДТИП ФУНКЦИЯ ПРЕОБРАЗОВАНИЯ ОПИСАНИЕ

Epty Автоматически присваивается новым переменным, когда
им еще не присвоено явное значение.
Null Указывает на то, что переменная не содержит допустимых данных.
Boolean CBool(x) Используется для обозначения логических переменных, принимающих
два допустимых значения True или False
Byte CByte(x) Самый короткий тип данных принимающий значение 0..255
Integer CInt(x) Целый тип в пределах -32768 .. 32768
Long CLng(x) Длинный тип целой переменной в пределах -2147483648 .. 2147483647
Single CSngl(x) Тип чисел с плавающей точкой одинарной точности
Double CDbl(x) Тип чисел с плавающей точкой двойной точности
Date/Time CDate(x) Число в формате отображающее время и дату от 1 января 100 года до 31 декабря
9999 года
Currency CCur(x) Специальный числовой формат для денежных величин
String CStr(x) Символьные тип данных
Object Ссылка на объекты ole, html, ActiveX
Error Тип данных предназначенный для хранения номеров ошибок

Некоторые правила VBscript

В заключении следует упомянуть некоторые основные приемы при написании кода скрипта.

Если код не умещается в одной строке, то можно использовать символ продолжения строки:

if a=1 and b=2 or c=3 then alert a
  можно написать как
if    a=1 _
  and b=2 _
   or c=3 _
then alert a

Для «склеивания» двух численных переменных лучше использовать знак «&» чем «+», т.е.
a=»при» b=»вет» тогда a&b=»привет»

Код сценария желательно, на всякий случай, заключать в теги комментария
<Script language=»Vbscript><!— код —></script>

Заключение

Я уже говорил, что моей задачей не было рассказать все и вся про VBscript,
в статье были приведены только справочные данные и основные методы, пригодные
для написания простейших сценариев, без применения ActiveX технологии.
Тем, кого заинтересовал этот язык программирования,
можно порекомендовать книгу (из бумаги :) «Изучаем VBscript» автор Пол Ломакс.
Некоторые справочные данные я брал именно из нее.

При большой фантазии, на VBscript можно создать и полноценные приложения,
как, к примеру Перекодировщик Rus-Translit или HTML редактор. Так что дерзайте!

Понравилась статья? Поделить с друзьями:
  • Полное руководство по ремонту рено
  • Прогестерон свечи при беременности инструкция по применению
  • Мыло для бровей как пользоваться инструкция по применению
  • Релифипин гель инструкция по применению цена отзывы
  • Кардиомагнил инструкция по применению как пить до или после еды