В VBS есть глобальные и локальные переменные, доступные только в конкретной области.
Использование Public и Private по большей части имеют смысл при использовании классов в VBS, которые будут рассмотрены в следующей статье. В языке VBS так же можно объявить константы:
Переменную так же можно вообще не объявлять, а сразу присваивать ей значение, однако, так делать не рекомендуется, т.к. в случае опечатки в названии переменной, можно получить не те результаты, что ожидались. Чтобы компилятор требовал явного объявления всех переменных, нужно использовать оператор Option Explicit
Тип переменной задается при присвоении ей значения, при этом тип может меняться в процессе выполнения программы.
Массивы объявляются с помощью скобок.
Как и с переменными, тип массива задается при присвоении значения, причем, у разных элементов массива могут быть разные типы.
Очистить массив от данных можно так:
Условия и ветвления
Условия в VBS осуществляется с помощью If Then Else. Пример:
Оператор Select Case поможет при большом количестве сравнений. Пример:
Циклы
В VBS используется два основных вида циклов.
Синтаксис цикла с предусловием:
Синтаксис цикла с постусловием:
Как и с циклом For оператор Exit Do позволяет «досрочно» выйти из цикла.
Заключение
Мы рассмотрели основные операторы языка VBS. Так же стоит упомянуть еще несколько моментов:
Все примеры скриптов действуют только в MSIE 3.0 и выше!
Предисловие
Как это не прискорбно для ярых противников Microsoft, но именно эта компания способствовала широкому распространению Бейсика (вспомним Quick Basic). По моему опыту писать на нем было удобнее, чем на Turbo Bacic компании Borland, которая более известна по языку C++. Повсеместная «Виндуализация» PC компьютеров, вынудила к разработке версии Бейсика для Windows приложений. Таким клоном в 1991 году стал Visual Basic, позволяющий визуально создавать прикладные программы, довольно приличного уровня. Но все же, по моему мнению, из за простоты Visual Basic сдает свои позиции тем же Си и Java. С появлением всемирной сети Internet, и языка HTML стало возможным создание активных приложений на веб страницах. Единственным языком для этих целей был Java Script. Да, именно был. Когда свет увидел Microsoft Internet Explorer 3.0, в нем, помимо поддержки Java script появилась и поддержка Visual Basic Scripting Edition, или просто VBscript. Как известно, JavaScript был разработан Netscape и поначалу стал известен как LiveScript. После шумихи вокруг Java, Netscape переименовала его в JavaScript, когда получила лицензию от Sun. Microsoft самостоятельно разработала JScript для своего броузера, за что правда тоже не избежала разбирательств с Sun.
Кроме Java, MSIE3.0 (и выше), может еще и исполнять программы на VBScript. Netscape Navigator не поддерживает пока (надеюсь, что пока) VBScript, поэтому этот язык не очень широко применяется, а многим даже не известен. А жаль, человеку умеющему писать на обычном QB достаточно месяца, а то и меньше, чтобы перейти на VBscript и создавать красивые активные веб страницы, ни чем не уступающие страницам с JavaScript и даже во многим превосходящие их. Поэтому, если с надеждой смотреть в будущее, то изучить VBScript можно уже сейчас. В этой статье я попытаюсь рассказать основы VBScript, не вдаваясь в тонкости. Моя цель, только заинтересовать рядового пользователя и начинающих WebДизайнеров. Вот и все из истории:) Начнем.
Cравнение VBScript и JavaScript
Прежде чем начинать познавать VBScript, давайте сравним две одинаковые, простые программы на JS и VBS. Это будет полезным для тех, кто знает JavaScript (к коим я не отношусь:(. Суть программы: вводим текст в верхнее поле, нажимаем кнопку «Скопировать» и текст копируется в нижнее поле.
Java Script
VB Script
Поставим задачу, написать программу, которая бы случайным образом загадывала число от 1 до 100, и предлагала Вам его угадать. При неправильном предположении, программа должна выводить сообщение о том, больше загаданное число или меньше. Ведется подсчет попыток. В случае победы выводится поздравление.
Программа на обычном Бейсике:
Как видите, такая программа пошла бы даже на БК0010:) Я даже оставил ненавистные операторы GOTO (интересно, об них еще помнят?). Для тех кто не понимает, опишу алгоритм:
Код типичной страницы со скрипт программой будет выглядеть примерно так:
Итак, напишем программу реализующую заданные условия с помощью VBscript
Нажмите на кнопку «Загадать число» и угадайте его:)
КОД ПРОГРАММЫ:
При загрузке документа появится окошко с данной надписью и кнопкой ОК
Разумеется, данный пример Вы можете использовать только как шутку на ссылку «xxx», потому что нажать на нее невозможно:) Но если поменять alert «ссылка» на status=»Моя домашняя страница», то это сообщение появится в строке статуса.
Каков полный синтаксис операторов указывающих как «добраться» до данных в поле ввода?
x = top.имя_фрейма.document.имя_формы.имя_объекта_text_box.value Таким образом, можно добраться до любых данных в окне броузера, даже если они расположены в другом фрейме.
Подведем первые итоги. VBscript перенял от обычного Бейсика большинство операторов и функций (математических, преобразования данных и т.д.). Отличие выражается в специфических операторах ввода-вывода информации из окна броузера и возможных событиях, которые могут «случиться» при взаимодействии пользователя и страницы.
Справочная информация. Некоторые операторы и функции
Чтобы Вам было легче экспериментировать в написании скриптов, приведем основные операторы и функции VBscript. А то начнете писать PRINT «привет» или пытаться закончить цикл For оператором Next x 🙂
СИНТАКСИС
ПРИМЕР
ОПИСАНИЕ
Операторы работы с массивами.
Dim имя_массива (индексы)
dim a(10),b(20,30)
Объявление массива
Erase имя_массива
erase a
Очистка содержимого массива
переменная = значение
a=137 a=b c=»привет»
Присваивание
Set переменная = объект
set a=document.forma1
Присваивание переменной значени ссылки на объект.
‘ комментарии
‘ текст
Rem комментарии
rem текст
Операторы используемые в выражениях
Call имя_событие
Call but_onclick
Вызов подпрограммы
Do . Loop Until условие
Do a=a+1 Loop Until a>=5
Выполняет код хотя бы один раз, пока условие не будет истинным
Do . Loop While условие
Do a=a+1 Loop While a =5 a=a+1 Loop
Повторяет выполнение кода, пока условие не станет истинным
Do While условие . Loop
Do While a 1 Then alert»больше»
Выполнение кода при выполнении условия
Select Case X Case значение1 действие Case значение2 действие2 . End select
Select Case X Case 10 alert»x=10″ Case 20 alert»x=20″ End select
Выборочное выполнение кода при совпадении значения
While условие действие Wend
While a
Oбъявление функций и процедур
Как вызвать сценарий в VBscript
Веб страница с активным содержимым, всегда делится как бы на две части: Первая, это html код самой страницы содержащий необходимые элементы управления (ссылки, кнопки, формы для ввода информации и т.д.), и Вторая, сценарии на скрипте, которые начинают работать при различных событиях происходящих с элементами управления. Это можно назвать главной отличительной особенностью программ для веб страниц, от обычных исполняемых приложений.
Рассмотрим основные приемы вызова сценариев, или процедур.
Сценарий вызываемый неявно:
Такой способ, по моему мнению, самый простой. Указываем имя оператором name=»имя» в теге характерризующим элемент управления, это же «имя» пишем в вызываемой процедуре и через знак подчеркивания пишем событие, которое должно произойти для исполнения сценария.
Вызов сценария определяемый в элементе управления:
Такой способ обрадует приверженцев Java Script. Среди его преимуществ, перед первым методом можно отметить то, что один и тот же сценарий можно вызывать из разных элементов управления.
Автоматический вызов сценария:
Код программы в этом случае выполнится сразу после загрузки документа.
Вызов из другой процедуры:
Все способы, кроме автоматического вызова сценария, чисто визуально будут выглядеть так:
Основные типы данных VBscript
Наверное, те кто знаком со «старым» бейсиком, еще помнят, что для обозначения символьной переменной надо было писать знак бакса или солнышка (a$=»привет»). В VBscript этого делать не следует, он имеет только один тип данных, называемый VARIANT. Он может содержать как символы так и числа разной точности. Поэтому для того, чтобы точно определить тип данных, желательно использовать функции преобразования. К примеру, текст вводимый в поле формы имеет текстовый формат, и попытка сложить цифру «3» с цифрой «2» приведет к результату «32»:
Поэтому надо сделать так, чтобы переменные summatext1 и summatext2 были преобразованы в целые числа функцией Cint(переменная):
Подтипы данных VARIANT.
Некоторые правила VBscript
В заключении следует упомянуть некоторые основные приемы при написании кода скрипта.
Если код не умещается в одной строке, то можно использовать символ продолжения строки:
Для «склеивания» двух численных переменных лучше использовать знак «&» чем «+», т.е. a=»при» b=»вет» тогда a&b=»привет»
Код сценария желательно, на всякий случай, заключать в теги комментария
Заключение
Я уже говорил, что моей задачей не было рассказать все и вся про VBscript, в статье были приведены только справочные данные и основные методы, пригодные для написания простейших сценариев, без применения ActiveX технологии. Тем, кого заинтересовал этот язык программирования, можно порекомендовать книгу (из бумаги 🙂 «Изучаем VBscript» автор Пол Ломакс. Некоторые справочные данные я брал именно из нее.
При большой фантазии, на VBscript можно создать и полноценные приложения, как, к примеру Перекодировщик Rus-Translit или HTML редактор. Так что дерзайте!
Скрипты на языке VBScript чаще всего применяются в следующих областях, использующих продукцию Microsoft:
Такой тип сценариев обычно используется для:
В основном VBS-сценарии применяются для обработки данных, управления системой, работы с учетными записями пользователей и компьютеров, взаимодействия с офисными приложениями, работы с базами данных и прочих сложных задач.
VBS-сценарий — это обычный текстовый файл с расширением *.vbs, который легко править в блокноте, а запускать на исполнение — двойным щелчком мыши или вызовом по имени в консоли.
Правила языка [ ]
В Visual Basic работают следующие правила:
Переменные [ ]
По умолчанию переменные в сценариях объявляются автоматически при первом использовании в теле скрипта, если это не запрещено директивой Option Explicit. Если же в начале сценария объявить директиву Option Explicit, то все переменные нужно определять заранее с помощью следующих конструкций:
Константы объявляются в начале сценария с помощью конструкции:
Тип переменной присваивается автоматически после внесения в неё первого значения. В Visual Basic существуют следующие типы данных:
В VBS-сценариях возможно использование массивов переменных, которые позволяют хранить списки, таблицы и даже более сложные конструкции. Одномерные массивы (списки) могут быть динамическими, то есть они позволяют изменять свой размер в ходе работы сценария. Все массивы объявляются командой Dim:
Объекты, их методы и свойства [ ]
VBScript, как и их родитель — язык Visual Basic, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов
Класс — это тип, описывающий устройство объектов. Объект подразумевает под собой нечто, что обладает определённым поведением и способом представления, объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.
Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.
Пример [ ]
Вот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями ):
По эффекту работы она аналогична прямой инструкции
См. также [ ]
Ссылки [ ]
Архивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления ( элементы )
Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом • Windows To Go
Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL ( формат модулей ) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
ReFS • NTFS ( Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS
Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск
BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищённый канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов
Visual Basic Scripting Edition (обычно просто VBScript) — скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.
VBScript был создан компанией command.com. Синтаксис VBScript является несколько упрощённой версией синтаксиса языка Visual Basic, в частности, не поддерживается типизация: все переменные имеют тип Variant.
Вот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апострофа являются комментариями):
Скрипты на языке VBScript чаще всего используются в следующих областях, использующих продукцию Microsoft:
См. также
Ссылки
Калькулятор • Calendar • Таблица символов • Contacts • DVD Maker • Fax and Scan • Internet Explorer • Journal • Outlook Express • Почта Windows • Magnifier • Media Center • Meeting Space • Mobile Device Center • Mobility Center • Movie Maker • Narrator • Notepad • Paint • Фотоальбом • Private Character Editor • Remote Assistance • Sidebar • Snipping Tool • Звукозапись • Windows Media Player • Windows Speech Recognition • Игры
Autorun • BITS • Task Scheduler • Wireless Zero Configuration • Shadow Copy • Windows Error Reporting • Multimedia Class Scheduler • CLFS
Hard link • Junction point • Mount Point • Reparse point • Symbolic link • TxF • FAT • CDFS • UDF • DFS • IFS
Domains • Active Directory • DNS • Групповая политика • Roaming user profiles • Folder redirection • Координатор распределённых транзакций • MSMQ • Windows SharePoint Services • Windows Media Services • Rights Management Services • IIS • Terminal Services • WSUS • Network Access Protection • DFS Replication • Remote Differential Compression • Print Services for UNIX • Remote Installation Services • Windows Deployment Services • Windows System Resource Manager • Hyper-V
NT series architecture • Object Manager • Startup process (Vista) • I/O request packets • Kernel Transaction Manager • Logical Disk Manager • Security Accounts Manager • Windows Resource Protection • LSASS • CSRSS • SMSS
Unix subsystem (Interix) • Virtual DOS Machine • Windows on Windows • WOW64
Полезное
Смотреть что такое «VBScript» в других словарях:
Vbscript — (diminutif de Microsoft Visual Basic Scripting Edition) est un sous ensemble de Visual Basic utilisé en tant que langage de script d usage général. Le VBScript est souvent comparé au JavaScript, alors que le JavaScript est essentiellement utilisé … Wikipédia en Français
VBScript — (diminutif de Microsoft Visual Basic Scripting Edition) est un sous ensemble de Visual Basic utilisé en tant que langage de script d usage général. Il est souvent comparé au JavaScript. Sommaire 1 Environnements d utilisation 2 Langage interprété … Wikipédia en Français
VBScript — (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Scripting Host de Microsoft. Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. Ha logrado un apoyo significativo por… … Wikipedia Español
VBScript — разработанный корпорацией Miacrosoft язык создания сценариев; подмножество языка Visual Basic. VBScript используется для написания сценариев клиента. См. также: Скрипт языки Финансовый словарь Финам … Финансовый словарь
VBScript — es el Lenguaje Script de Visual Basic. Hay lenguajes que tienen scripts, los cuáles son una especie de programación derivada de determinado lenguaje con el fin de economizar espacio, tiempo o recursos al realizar cierta actividad. Tenemos el… … Enciclopedia Universal
VBScript — [Abk. für Visual Basic Scripting Edition, dt. »Scriptausgabe von Visual Basic«], von Visual Basic abgeleitete Scriptsprache, die wie das Konkurrenzprodukt JavaScript HTML Dokumente mit interaktiven Elementen versieht und dabei zu ActiveX… … Universal-Lexikon
VBScript — (Visual Basic Scripting Edition) programming language developed by Microsoft that is based on Visual Basic and supported by the Internet Explorer browser (enables features similar to Java interactive buttons, scrolls, etc.) … English contemporary dictionary
VBScript — Visual Basic Script (kurz: VBScript oder VBS) ist eine von Microsoft entwickelte Skriptsprache. Sie ist eng verwandt mit Visual Basic (VB) und Visual Basic for Applications (VBA) und wird üblicherweise interpretiert. Inhaltsverzeichnis 1… … Deutsch Wikipedia
VBScript — noun A scripting language that is a subset of Microsoft Visual Basic … Wiktionary
В этом начальном уроке, мы изучим синтаксис vbscript языка. Синтаксис языка vbscript является таким же как и в языке Visual Basic и фактически, является подмножеством данного языка программирования. Основной упор в использовании vbscript – это возможность написания сценариев (расширение vbs) с открытым кодом для платформы Windows. Пользователю не нужно прибегать к установке дополнительного программного обеспечения, так как все сценарии выполняются под управлением сервера сценариев Windows Script Host.
И так, давайте рассмотрим базовый синтаксис vbscipt и его возможности.
Можно прописать несколько операторов в одну строчку, для этого используется знак двоеточия (:). Сам язык нечувствителен к регистру символов.
Хорошо, давайте рассмотрим синтаксис языка vbscript на таком примере:
Видим, что тут, мы вначале прописали комментарии, далее объявили три переменные. Как видим, язык vbscript не требует назначения типа данных (более детально, работу с типами данных я рассмотрел в статье – «Урок 3 по VBScript: Типы данных»). В конце, для вывода данных мы использовали функцию MsgBox, в данном случае она прописана в упрощенном варианте. Давайте рассмотрим ее полный синтаксис:
MsgBox(prompt[, buttons] [, title ][, helpfile, context ] ) – видим, что тут, функции передаются пять параметров, последние два мы рассматривать не будет, так как они не являются актуальными и практически не применяются.
Работу с данной функцией я более детально рассмотрел в статье «Создание диалоговых окон».
Язык vbscript предоставляют также функции для работы со строками и датой, а также, ряд математических функций.
Sub MyProcedure(Param1, Param2) Строки кода End Sub
Если процедура не имеет параметров, то в скобках после имени ничего указывать не нужно:
Sub MyProcedure() …
End Sub
Function MyFunction(Param1, Param2) … End Function
Для того чтобы возвратить из функции какое-либо значение, нужно внутри неё присвоить это значение переменной, название которой совпадает с именем функции:
Function MyFunction(Param1, Param2) Dim Sum Sum = Paraml+Param2 MyFunction = Sum End Function
Если возвращаемое функцией значение не нужно присваивать никакой переменной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов: MyFunction 3,5
Если же необходимо записать значение в какую-либо переменную, то аргументы функции заключаются в круглые скобки.
Вот простой пример синтаксиса vbscript для использования собственных процедур и функций:
Помимо процедур и функций, можно создавать собственные массивы (Урок 9 по VBScript: Массивы) и классы (Урок 8 по VBScript: Объекты и классы)
Ну что же, вдобавок, хотелось бы упомянуть две очень полезные функции: