Учебники

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», чтобы установить куки.

Enter name:

Теперь в вашей системе есть файл 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 - передать параметры по ссылке

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 будет показан следующий вывод.