Visual basic html = vbscript объект history

Содержание

Visual basic html = vbscript объект history

Copyright© 1998 Моховой Алексей. wanderfly@chat.ru

Все примеры скриптов действуют только в MSIE 3.0 и выше!

Предисловие.

Я не ошибусь, если назову Бейсик (BASIC — Begginners Allpurpose Symbolic Instruction Code, т.е символический командный универсальный код для начинающего :) самым простым языком программирования. Даже при небольшом опыте, программы можно писать практически не задумываясь. Свою историю этот язык программирования высокого уровня начал в далеком 1963 году. Именно тогда небольшой группой студентов последнего курса Дортмутского колледжа под чутким руководством профессора Дж. Кемени и была разработана самая первая версия этого языка. В то время, помимо Бейсика, широко были распространены также Fortran, Cobol, Algol, PL/1, Focal и Pascal. Из них, до настоящего времени дожили, пожалуй лишь Паскаль и Бейсик, сильно изменившись при этом.

Как это не прискорбно для ярых противников Microsoft, но именно эта компания способствовала широкому распространению Бейсика (вспомним Quick Basic). По моему опыту писать на нем было удобнее, чем на Turbo Bacic компании Borland, которая более известна по языку C++. Повсеместная «Виндуализация» PC компьютеров, вынудила к разработке версии Бейсика для Windows приложений. Таким клоном в 1991 году стал Visual Basic, позволяющий визуально создавать прикладные программы, довольно приличного уровня. Но все же, по моему мнению, из за простоты Visual Basic сдает свои позиции тем же Си и Java. С появлением всемирной сети Internet, и языка HTML стало возможным создание активных приложений на веб страницах. Единственным языком для этих целей был Java Script. Да, именно был. Когда свет увидел Microsoft Internet Explorer 3.0, в нем, помимо поддержки Java script появилась и поддержка Visual Basic Scripting Edition, или просто VBscript. Как известно, JavaScript был разработан Netscape и поначалу стал известен как LiveScript. После шумихи вокруг Java, Netscape переименовала его в JavaScript, когда получила лицензию от Sun. Microsoft самостоятельно разработала JScript для своего броузера, за что правда тоже не избежала разбирательств с Sun.

Кроме Java, MSIE3.0 (и выше), может еще и исполнять программы на VBScript. Netscape Navigator не поддерживает пока (надеюсь, что пока) VBScript, поэтому этот язык не очень широко применяется, а многим даже не известен. А жаль, человеку умеющему писать на обычном QB достаточно месяца, а то и меньше, чтобы перейти на VBscript и создавать красивые активные веб страницы, ни чем не уступающие страницам с JavaScript и даже во многим превосходящие их. Поэтому, если с надеждой смотреть в будущее, то изучить VBScript можно уже сейчас. В этой статье я попытаюсь рассказать основы VBScript, не вдаваясь в тонкости. Моя цель, только заинтересовать рядового пользователя и начинающих WebДизайнеров. Вот и все из истории:) Начнем.

Cравнение VBScript и JavaScript.

Прежде чем начинать познавать VBScript, давайте сравним две одинаковые, простые программы на JS и VBS. Это будет полезным для тех, кто знает JavaScript (к коим я не отношусь:(.
Суть программы: вводим текст в верхнее поле, нажимаем кнопку «Скопировать» и текст копируется в нижнее поле.

Да, как видно, различий практически нет. JS поддерживает только функции, VBS и функции и процедуры (подпрограммы). Так же следует отметить, что VBS отличие от JS не чувствителен к регистру символов, т.е. для него что copyfun(), что CoPYfuN() — один пес:). Так что можете сделать выводы, тем, кто знает ява скрипт, будет легко освоить VBS, а тем кто не знает пока ни того не другого будет еще легче, поскольку переучиваться не придется. Учиться лучше на примерах, поэтому постараюсь их здесь приводить побольше. Я надеюсь, что Вы хотя бы умеете писать программы на обыкновенном Бейсике (QB или TB)? Тогда эта статья именно для Вас.

От QuickBasic до VBscript — один шаг.

Начнем изучение не стандартным подходом. Обычно сначала все пишут программу, выводящую на экран строку «ПРИВЕТ ПИПЛЫ :)» Мы же попробуем перевести обычную «Бейсиковскую» программу — на VBscript, чтобы показать — как между ними много общего. Поставим задачу, написать программу, которая бы случайным образом загадывала число от 1 до 100, и предлагала Вам его угадать. При неправильном предположении, программа должна выводить сообщение о том, больше загаданное число или меньше. Ведется подсчет попыток. В случае победы выводится поздравление.

Программа на обычном Бейсике:

Как видите, такая программа пошла бы даже на БК0010:) Я даже оставил ненавистные операторы GOTO (интересно, об них еще помнят?). Для тех кто не понимает, опишу алгоритм:

10 очистка экрана и включение генератора случайных чисел.
20 переменной «a» присваивается целое случайное значение
от 1 до 100, счетчику числа попыток присваивается
значение=1.
30, 40 выводится сообщение.
50 ввод Вашего варианта «v».
60 если загаданное число больше Вашего варианта, то
выводится сообщение, на единицу увеличивается счетчик
попыток и программа отправляется на строку 40.
70 если загаданное число меньше Вашего варианта, то
выводится сообщение, на единицу увеличивается счетчик
попыток и программа отправляется на строку 40.
80 Если числа совпадут то выводится поздравление, кстати,
по идее, проверку этого условия можно и опустить.
90 THE END

Создание страниц с помощью VBScript

В связи с тем,что язык создания сценариев Microsoft VBScript работает только в браузере Microsoft Internet Explorer а другие браузеры попросту не понимают этого языка сейчас VBScript имеет ограниченное распространение.Но некоторые пользователи используют в своих страницах VBScript,поэтому кратко рассмотрим объекты,свойства,и методы при работе с этим яэыком.
Visual Basic Scripting Edition или VBScript создан на основе Visual Basic специально для работы в VEB приложениях,внедряясь в страницу HTML,и отдельно существовать не может. Если используется VBScript, то следует указать строку вида:

Что означает «создаем объект» в vbs?

Java Script VB Script

Что означает фраза «создаем объект»? Что такое «объект» для vbs? Зачем в vbs требуется создавать объект.

К примеру, в моем понимании объявление переменных в начале кода — это выделение определенных участков оперативной памяти для хранения этих переменных. Можно ли дать похожие понятные ответы по моим вопросам.

Всем спасибо, удачи и добра!1

Visual Basic
05.05.2014, 12:16

Глюки vbs скрипта. Вместо «admin» появляется «14-9,»
Здравствуйте! Сделал скрипт такого содержания, для авторизации в роутере: Set oShell =.

Аналог «chcp 866» в VBS
Пишу скрипт, который конвертирует русские имена файлов и директорий из UTF-8 в 1251. Вопрос. Вот.

Подскажите, как написать условие «Если объект существует, то. «
Добрый день. Подскажите пожалуйста начинающему. Делаю VBScript стандартными средствами SAP ERP.

Сообщение об ошибке «Требуется объект: ‘objForm.elements(. )'»
Здрям! Возникает ошибка (в сабже) при попытке заполнения поля. Я может как-то не так обращаюсь к.

Ошибка: «Требуется объект»
Добрый день. Не могу понять, в чем причина ошибки. Код: Set xmlParser =.

05.05.2014, 20:14 2

Думаю, о том, что такое объект, Вам лучше почитать (первые 4 страницы).
Если ничего не поймете, приходите еще

06.05.2014, 01:15 3

Решение

Elgin88, если интересно, вот мое толкование объектов (репостинг с другого форума).
Все, что сказано про VBA, справедливо и по отношению к Вашему CT.Application.
____________________________________________

Объяснить «на пальцах» нам поможет издательство Диалектика (которое я цитирую ниже).
Итак, здесь про VBA. Все тоже самое актуально и в VBScript.
Напомню: VBA — это диалект языка Visual Basic, используемый внутри всех офисных приложений Microsoft Office.
___________________
Обычно тяжело представить объект VBA как нечто материальное. И это к лучшему: чем дальше удастся отойти от подобных представлений, тем проще работать со всем многообразием предоставляемых объектов. Определение, используемое программистами, на самом деле, достаточно простое. Объект — это именованный элемент, обладающий:

свойствами (настройки, которые может проверять и изменять пользователь);

методами (действия, которые может выполнять объект по запросу программы);

а также в некоторых случаях

■ событиями (то, что происходит с объектом и на что он может отреагировать, автоматически предпринимая заранее заданные действия).

Вам может показаться, что термин объекты не подходит таким «богато одаренным созданиям».
Действительно, объекты больше похожи на живые существа, чем на мертвые глыбы.
Свойства
Тигр или кит обладает такими характерными чертами, как глаза, конечности и хвост — объект обладает свойствами.
Методы
Лошадь или собака (объект) могут выполнять команды или убегать от опасности — объект имеет методы и события.

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

Мы подходим к тому, что есть:

  • внутренние объекты.
  • внешние объекты;

Для языка VBA (например, в Excel-е) встроенными являются такие объекты как:

  • книга
  • лист
  • ячейка
  • диаграмма и т.д.

В VBScript такой объект по сути один:

  • WScript. Вот какие свойства и методы и объекты он имеет.
  • Кроме того, мы имеем богатый потенциал встроенных функций (здесь указывать объект не нужно).

Некоторые из функций (например, msgbox) можно использовать в качестве процедуры.
Процедура/функция — какая разница, спросите Вы?
Процедура — это совокупность кода, который можно вызвать на исполнение по имени.
Например:

Visual Basic
Visual Basic

И функции, и процедуры подразделяются на:

  • встроенные (код которых Вы не видите — встроено в движок)
  • пользовательские (то, что в примере выше)
  • и те, что вызываются из других объектов (помните пример с тигром?)

Но, вернемся к нашей теме:
Примеры работы со встроенным объектом WScript

Например, чтобы отобразить на экране полный путь к выполняемому скрипту, нужно обратится к объекту WScript и через точку написать имя его свойства ScriptFullName :

Visual Basic
Visual Basic

Теперь по поводу таинственных слов
set Переменная = CreateObject(Библиотека.Класс)
Что же здесь происходит?

Класс — это совокупность свойств и методов.
CreateObject создает экземпляр этого класса.
set присваивает переменной ссылку на этот экземпляр.

Пример
Представьте, что класс — это план строительства здания.
Создания экземпляра — это строительство дома.
Вы можете выполнить процедуру жить в доме, но не можете жить в плане, пока не создадите экземпляр — объект Дом.
В одном скрипте вполне можно использовать несколько разных объектов одного и того же класса (иначе говоря — несколько домов).
При чем каждый из них в процессе работы Вы можете можете наделить разными свойствами (иначе — покрасить в разные цвета).
Эти свойства (как и сам объект) будут хранится (существовать) до тех пор, пока Вы не решите уничтожить объект командой set Объект = nothing

В Windows, как правило, библиотеки классов реализованы при помощи COM-технологий.

Вот, что нам про это пишут:
______________________________________________
В программах, написанных при помощи VBA, пользователь не ограничен в применении объектов одного приложения. Фактически, пользователь даже не ограничен приложениями VBA. Другие приложения и специализированные «компоненты» тоже подходят, если они соответствуют стандарту Microsoft Component Object Model (COM).

COM — это технические требования, описывающие, как объекты определяются в приложениях и других программных элементах и как они могут использоваться в других приложениях. Слово «автоматизация» указывает на способность приложений, основанных на СОМ, быть управляемыми другой программой. Между прочим, СОМ не является технологией, присущей исключительно VBA или даже Visual Basic. Некоторые из инструментов разработки программного обеспечения, такие как C++, понимают СОМ и могут получать доступ к объектам СОМ.
______________________________________________
Итак в системе у нас есть как уже уже зарегистрированные библиотеки, доступ к которым можно получить посредством COM.
Такие библиотеки типов откомпилированы — классы из них можно использовать, но просмотреть их исходный код нельзя (технология «черного ящика»).

Visual Basic Scripting Edition

Visual Basic Scripting Edition (обычно просто VBScript) — скриптовый язык программирования, интерпретируемый компонентом Windows Script Host. Он широко используется при создании скриптов в операционных системах семейства Microsoft Windows.

VBScript был создан компанией Microsoft как замена устаревшему пакетному языку, интерпретируемому приложением command.com.

Область применения Править

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

Такой тип сценариев обычно используется для:

  • создания сложных сценариев;
  • использования объектов из других приложений и библиотек;
  • скрытия окон в ходе выполнения сценария;
  • шифрования логики сценария.

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

VBS-сценарий — это обычный текстовый файл с расширением *.vbs, который легко править в блокноте, а запускать на исполнение — двойным щелчком мыши или вызовом по имени в консоли.

Сценарии не компилируются, а интерпретируются. То есть для обработки скрипта в системе должен присутствовать интерпретатор языка VBS, и таких интерпретаторов в Windows два: оконный WScript и консольный CScript, оба интерпретатора это Windows Script Host (WSH).

Правила языка Править

В Visual Basic работают следующие правила:

  • длина строки не ограничена;
  • регистр символов не учитывается;
  • количество пробелов между параметрами не учитывается;
  • строку команды можно разрывать, а на месте разрыва нужно вставлять символ «_»;
  • максимальная длина имени переменной 255 символов;
  • комментарии обозначаются символом «’».
  • несколько строк можно объединять в одну, предварительно разделив их символом «:»

Переменные Править

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

Константы объявляются в начале сценария с помощью конструкции:

Тип переменной присваивается автоматически после внесения в неё первого значения. В Visual Basic существуют следующие типы данных:

  • empty — неинициализированная переменная;
  • null — пустая переменная;
  • boolean — логический тип, возможные значения: False, True или 0, 1;
  • byte — 8-битное целое число без знака, возможные значения: 0 .. 255;
  • integer — 16-битное целое число, возможные значения: −32768 .. 32767;
  • long — 32-битное целое число, возможные значения: −2147483648 .. 2147483647;
  • currency — денежный тип, возможные значения: −922337203685477,5808 до 922337203685477,5807;
  • single — число с плавающей точкой, возможные значения: −3.402823e38 .. −1.401298e-45 для отрицательных чисел и 1.401298e-45 .. 3.402823e38 для положительных чисел;
  • double — число с плавающей точкой, возможные значения: −1.79769313486232e308 .. −4.94065645841247e-324 для отрицательных чисел и 4.94065645841247e-324 .. 1.79769313486232e308 для положительных чисел;
  • date — дата, возможные значения: 01.01.1900 .. 31.01.9999;
  • string — строковая переменная, вместимость до 2 миллиардов символов;
  • object — указатель на объект;
  • error — код ошибки.

В VBS-сценариях возможно использование массивов переменных, которые позволяют хранить списки, таблицы и даже более сложные конструкции. Одномерные массивы (списки) могут быть динамическими, то есть они позволяют изменять свой размер в ходе работы сценария. Все массивы объявляются командой Dim:

Объекты, их методы и свойства Править

VBScript, как и их родитель — язык Visual Basic, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов

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

Все объекты, с которыми работает Windows Script Host, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку — метод с необходимыми параметрами.

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

Пример Править

Вот пример небольшой программы на языке VBScript, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями):

По эффекту работы она аналогична прямой инструкции

how to make an “include” activeX object in vb6 for vbscript?

this is what i’m trying to make:

VB6 com.dll, name and classname: scripting.includefile

vbscript:

is this possible? thanks in advance :)

2 Answers 2

You just read a file with it and assign the text to the scripting control.

This is vbscript but vbscript is legal VB6.

Here I am reading a script from the command line and applying it to each line of stdin. Note I use the Script Control to check for syntax errors (you can’t continue a program after a syntax error unlike runtime errors). I actually execute the script in vbscript (which VB6 can’t do) rather than the script control to make passing data simple.

Use colons to seperate statements and lines. Use single quotes in place of double quotes, if you need a single quote use chr(39). Escape brackets and ampersand with the ^ character. If you need a caret use chr(136).

The function is called UF (for UserFunction). It has two parameters, L which contains the current line and LC which contains the linecount. Set the results of the script to UF. See example.

There are three global objects available. An undeclared global variable gU to maintain state. Use it as an array if you need more than one variable. A Dictionary object gdU for saving and accessing previous lines. And a RegExp object greU ready for use.

Example

This vbs script inserts the line number and sets the line to the function UF which Filter prints.

This is how it looks in memory

If there is a syntax error Filter will display debugging details.

User function syntax error

User function runtime error

3. Работа с объектами. Библиотеки классов и их просмотр

Классы и объекты в VBScript, создание объектов, объектные модели Windows

Классы — это блоки функциональности, которые можно использовать в программах, в нашем случае — скриптах. Для наших целей их можно считать «чертежами» для создания объектов. На основе этих «чертежей» создаются экземпляры классов — объекты. Коллекция классов обычно называется библиотекой типов и в Windows она «упакована» в файл dll или ocx . Такие библиотеки типов откомпилированы — классы из них можно использовать, но просмотреть их исходный код нельзя (технология «черного ящика»).

Чаще всего в скрипте производится создание объекта определенного класса ( instantiation ) и далее работа производится с этим объектом. В одном скрипте вполне можно использовать несколько разных объектов одного и того же класса.

Создание объекта производится очень просто:

Set Объектная_переменная = CreateObject (“Библиотека.Класс”)

Set oNetwork = CreateObject(«Wscript.Network»)

oNetwork.MapNetworkDrive «z:», \\London\Labs

Функция CreateObject() встроена в VBScript. WScript — это одновременно и имя библиотеки типов (как в нашем примере), и имя специального объекта, который создается в момент запуска скрипта (и поэтому его специально создавать не нужно) и существует до конца выполнения скрипта WSH .

Пример — в любом месте скрипта вы можете использовать его метод Wscript . Echo .

Чтобы явно удалить объект (например, чтобы освободить оперативную память) можно использовать команду

Set объект = Nothing

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

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

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

1) простой вызов метода выглядит как

При этом не возвращаются и не принимаются никакие параметры.

2) второй способ:

объект.метод параметр1 [, параметр2, . , параметр]

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

3) третий способ:

моя_переменная = объект.метод (параметр1 [, параметр2, . , параметр n ])

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

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

Самые простой синтаксис для изменения свойств объекта выглядит так:

Значение может быть обычной константой (10 или «Сообщение»), простым выражением (10 + 5), свойством другого объекта Объект1.Свойство = Объект2.Свойство), возвращаемым значением какого либо метода: Объект.Свойство = Объект2.Метод()

Естественно, можно извлекать значение свойства:

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

Все классы идентифицируются по ProgID ( Programmatic Identifier ). Информация о ProgID хранится в разделе реестра HKEY _ CLASSES _ ROOT и через него определяется, какой файл *. dll , *. exe и *. ocx содержит данный объект. ProgId состоит из имени библиотеки типов и имени класса. Например, при выполнении команды

Set MyObject = CreateObject(“Scripting.FileSystemObject”)

Через реестр определяется физический файл, в котором находится библиотека Scripting и класс FSO .

Скриптовые среды (в том числе WSH ) работают с COM -объектами с определенными ограничениями. Одно из главных ограничений — по типам данных, которые могут передаваться COM -объектам. Поэтому из скриптов можно обращаться далеко не ко всем COM -объектам. COM -объекты, которые полностью соответствуют требованиям скриптов, называются объектами автоматизации ( automation objects ).

Автоматизацию, естественно, поддерживают все объекты библиотек типов WSH , а также многие другие объекты, например, все приложения MS Office — MS Word , PowerPoint и т.п. Показать пример копирования презентации и вставки в документ Word .

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

o наиболее мощная — OLE / COM Object Viewer из Visual Studio (запускается через среду разработки или из командной строки — oleview );

o просмотрщик встроен в VBA , который поставляется вместе с MS Office . Например, в Word 2000 нужно нажать Alt — F 11, а затем F 2 (добавить новую библиотеку можно через Tools -> Options );

o просмотрщик (наиболее слабый) встроен в PrimalScript . Кроме того, в PrimalScript встроена технология «подсказки», открывающая список доступных свойств и методов объекта.

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

Наиболее важные библиотеки/объектные модели, используемые в административных целях:

Visual basic html = vbscript объект history

Архив рубрики
(Недоступные из Читального зала работы! Рекомендуем посетить!)

ВНИМАНИЕ! ELIB.ORG.UA информирует! Публикация не найдена , но она была здесь ранее!

Причины: публикация перенесена в архив (скорее всего) ИЛИ она была удалена автором.

СОВЕТ: воспользуйтесь поиском и уточните ее наличие!
. или напишите в Отдел поддержки пользователей с проблемой. Должны помочь!

Основы VBS

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

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

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

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

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

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

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

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

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

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

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

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

Циклы

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

Функция CreateObject CreateObject function

Создает и возвращает ссылку на объект ActiveX. Creates and returns a reference to an ActiveX object.

Синтаксис Syntax

CreateObject(класс, [ имя_сервера ]) CreateObject(class, [ servername ])

Синтаксис функции CreateObject состоит из следующих частей: The CreateObject function syntax has these parts:

Visual Basic
Часть Part Описание Description
класс class Обязательный элемент, Variant (String). Required; Variant (String). Имя приложения и класс создаваемого объекта. The application name and class of the object to create.
имя_сервера servername Необязательный элемент, Variant (String). Optional; Variant (String). Имя сетевого сервера, где будет создан объект. The name of the network server where the object will be created. Если имя_сервера является пустой строкой («»), используется локальный компьютер. If servername is an empty string («»), the local machine is used.

Для аргумента класс используется синтаксис имя_приложения.тип_объекта, содержащий указанные ниже части: The class argument uses the syntax appname.objecttype and has these parts:

Часть Part Описание Description
имя_приложения appname Обязательный элемент; Variant (String). Required; Variant (String). Имя приложения, предоставляющего объект. The name of the application providing the object.
тип_объекта objecttype Обязательный элемент, Variant (String). Required; Variant (String). Тип или класс создаваемого объекта. The type or class of object to create.

Примечания Remarks

Каждое приложение, поддерживающее автоматизацию, предоставляет как минимум один тип объекта. Every application that supports Automation provides at least one type of object. Например, в приложении для обработки текстов могут быть объекты Application, Document и Toolbar. For example, a word processing application may provide an Application object, a Document object, and a Toolbar object.

Чтобы создать объект ActiveX, назначьте объект, возвращаемый функцией CreateObject, переменной объекта. To create an ActiveX object, assign the object returned by CreateObject to an object variable.

Этот код запускает приложение, в котором создается объект, в данном случае электронная таблица Microsoft Excel. This code starts the application creating the object, in this case, a Microsoft Excel spreadsheet. После создания объекта на него можно ссылаться в коде, используя переменную объекта. After an object is created, you reference it in code by using the object variable you defined. В приведенном ниже примере доступ к свойствам и методам нового объекта осуществлялся с помощью объектной переменной ExcelSheet и других объектов Microsoft Excel, включая объект Application и коллекцию Cells . In the following example, you access properties and methods of the new object by using the object variable, ExcelSheet , and other Microsoft Excel objects, including the Application object and the Cells collection.

При объявлении объектной переменной с помощью предложения As Object создается переменная, которая может содержать ссылку на любой тип объекта. Declaring an object variable with the As Object clause creates a variable that can contain a reference to any type of object. Однако обращение к объекту через эту переменную выполняется с поздним связыванием, то есть привязка создается при выполнении программы. However, access to the object through that variable is late bound; that is, the binding occurs when your program is run. Чтобы создать объектную переменную с ранним связыванием, то есть со связыванием при компиляции программы, объявите объектную переменную с определенным идентификатором класса. To create an object variable that results in early binding, that is, binding when the program is compiled, declare the object variable with a specific class ID. Например, можно объявить и создать следующие ссылки Microsoft Excel: For example, you can declare and create the following Microsoft Excel references:

Ссылка с ранней привязкой может обеспечить большее быстродействие, но может содержать ссылку только на класс, указанный в объявлении. The reference through an early-bound variable can give better performance, but can only contain a reference to the class specified in the declaration.

Можно передать объект, возвращаемый функцией CreateObject, функции, которая использует объект в качестве аргумента. You can pass an object returned by the CreateObject function to a function expecting an object as an argument. Например, в следующем коде создается и передается ссылка на объект Excel.Application: For example, the following code creates and passes a reference to a Excel.Application object:

Вы можете создать объект на удаленном компьютере, подключенном к сети, указав его имя в аргументе имя_сервера функции CreateObject. You can create an object on a remote networked computer by passing the name of the computer to the servername argument of CreateObject. Это имя совпадает с именем компьютера в имени общего ресурса; для имени «\\MyServer\Public» имя_сервера будет «MyServer». That name is the same as the Machine Name portion of a share name; for a share named «\MyServer\Public,» servername is «MyServer.»

[!NOTE] > Refer to COM documentation (see _Microsoft Developer Network_) for additional information about making an application visible on a remote networked computer. You may have to add a registry key for your application.

Приведенный ниже код возвращает номер версии экземпляра приложения Excel, запущенного на удаленном компьютере с именем MyServer : The following code returns the version number of an instance of Excel running on a remote computer named MyServer :

Если удаленный сервер не существует или недоступен, возникает ошибка во время выполнения. If the remote server doesn’t exist or is unavailable, a run-time error occurs.

Используйте функцию CreateObject, если текущий экземпляр объекта отсутствует. Use CreateObject when there is no current instance of the object. Если экземпляр объекта уже запущен, запускается новый экземпляр и создается объект указанного типа. If an instance of the object is already running, a new instance is started, and an object of the specified type is created. Для использования текущего экземпляра или запуска приложения с одновременной загрузкой файла используйте функцию GetObject. To use the current instance, or to start the application and have it load a file, use the GetObject function.

Если объект зарегистрировал себя как объект типа «единственный экземпляр», создается только один экземпляр этого объекта независимо от того, сколько раз выполнялась функция CreateObject. If an object has registered itself as a single-instance object, only one instance of the object is created, no matter how many times CreateObject is executed.

Пример Example

В этом примере функция CreateObject используется для создания ссылки ( xlApp ) на Microsoft Excel. This example uses the CreateObject function to set a reference ( xlApp ) to Microsoft Excel. Эта ссылка используется для доступа к свойству Visible Microsoft Excel, а затем используется метод Quit Microsoft Excel, чтобы закрыть это приложение. It uses the reference to access the Visible property of Microsoft Excel, and then uses the Microsoft Excel Quit method to close it. В конце ссылка освобождается. Finally, the reference itself is released.

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Visual Basic + HTML = VBScript

Данная статья предназначена тем, кто хотел бы получить представление о программировании на Visual Basic Script, подмножестве языка Visual Basic. VBScript позволяет решать задачи, связанные с Internet, а именно создавать сценарии (или скрипты) управления объектами (кнопками, списками, ниспадающими меню и т. д.) на Web-страничках. Для понимания этого материала нужно иметь представление о структуре HTML-документа, а также основах программирования на Visual Basic. Описанные в статье сценарии могут быть использованы в браузере Microsoft Internet Explorer 3.0. Другие браузеры попросту не понимают этого языка. В настоящее время существуют всего два языка создания сценариев по управлению объектами — Microsoft VBScript и Sun JavaScript. Оба поддерживаются IE 3.0. Браузер же компании Netscape воспринимает только JavaScript.

С помощью VBScript вы можете быстро создавать собственные страницы или даже писать игры. И все это размещается внутри вашего HTML-документа. Если вы уже имели дело с Visual Basic или Visual Basic for Applications, то легко справитесь и с VBScript.

Создание скриптов

Для того чтобы браузер мог различать команды VBScript, нужно все операторы VBScript на HTML-страницах обрамлять тегами . Первый из них используется в паре с атрибутом LANGUAGE для определения языка создания сценария. В нашем случае — Visual Basic Script (хотя может быть и JavaScript). Значением для этого языка является «VBScript»:

Тег . Всегда употребляйте их парой! Сценарий в нашем примере помещается в специальные скобки , которые в языке HTML обозначают комментарий. Это делается для того, чтобы старые браузеры, которые не умеют работать со скриптовыми языками, случайно не отобразили сценарий на экране. Для них он — просто комментарий.

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

Процедуры

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

Виды процедур

В VBScript существует два вида процедур: подпрограмма (Sub) и функция (Function). Подпрограмма (Sub) — это последовательность VBScript-операторов, обрамляемая операторами Sub и End Sub. Подпрограммы могут принимать параметры (константы, переменные или выражения, которые передаются при вызове процедуры), но не возвращают значений. Если подпрограмма не содержит параметров, то ее оператор должен включать пустой набор круглых скобок. Следующая подпрограмма использует две функции языка VBScript — InputBox и MsgBox. Она запрашивает у пользователя ввод температуры в градусах Фаренгейта, переводит ее в градусы Цельсия и отображает результат. Вычисление температуры происходит в функции Celsius.

Функция (Function) — это последовательность операторов VBScript, обрамляемая операторами Function и End Function. Она похожа на подпрограмму, но отличается от последней тем, что может возвращать некоторое значение. Функция может принимать параметры (константы, переменные или выражения, передаваемые при вызове). Если она не содержит параметров, то оператор Function должен включать пустой набор круглых скобок. Возвращаемый тип у Function — Variant.

В следующем примере функция Celsius переводит градусы Фаренгейта в градусы Цельсия. Когда вызывается функция из подпрограммы ConvertTemp, переменная, содержащая параметр-значение, передается в функцию. Результат вычисления возвращается в вызывающую процедуру и отображается в MsgBox.

Перед использованием процедур в своей программе вы должны их объявить. Их нужно всегда размещать в самом начале раздела вашей HTML-странички. Весь последующий текст должен также находиться в разделе . Операторы Function и Sub, подобно другим элементам языка VBScript, располагаются между парой тегов для правильного их распознавания браузером. Кроме того, теги комментария ( ) окружают текст программы внутри тега

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

Использование подпрограмм и функций

Для применения функций в вашей программе необходимо поставить ее название справа от переменной или выражения, в которое будет возвращаться результат выполнения функции, например:

Чтобы вызвать одну процедуру из другой, необходимо написать имя первой со значениями требуемых параметров, каждый из которых должен отделяться от предыдущего запятой. Оператор Call не требуется. Но если вы все-таки используете его, то нужно заключить любые параметры в круглые скобки. Следующий пример показывает две возможности вызова процедуры MyProc. Один использует оператор Call, другой — нет. Оба выполняют одно и то же.

Обратите внимание, что круглые скобки опускаются при вызове подпрограммы, если оператор Call не применяется.

Объект

Объект (Object) — это простой объект, методами, свойствами и событиями которого вы можете управлять. Метод — это процедура или просто набор команд, сообщающих объекту, что нужно выполнить некоторую задачу. Свойство — это некоторый вид параметра объекта. Событие — это сигнал, подаваемый, если с объектом что-то происходит. И методы, и свойства, и события разработчик выбирает сам, исходя из потребностей задачи. Так, если в вашей программе нужно отследить время окончания работы, то имеет смысл обращать внимание на событие, сигнализирующее об этом. В противном случае эта информация бесполезна.

Объектная модель

Рассмотрим объект ActiveX Label (объект и элемент управления для VBScript фактически означают одно и то же). Он состоит из свойств и имеет один метод. Некоторые из его свойств включают заголовок (Caption), цвет фона (BackColor), цвет шрифта (ForeColor), размер (FontSize) и стиль шрифта (FontName). Его методом является About Box, отображающий при вызове окно с информацией об ActiveX. Событием для Label является перемещение указателя мыши над Label. Существует специальный тег

Для тега , а для установки значений его свойств — тег

. Если вы имели дело с программированием на Visual Basic, то использование тегов

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

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

Обработчик события нажатия кнопки cmdChangeIt изменяет текст объекта Label:

Некоторые теги (прежде всего для управления вводом информации в форму) и элементы ActiveX могут обращаться к отдельным процедурам вашего сценария (скрипта), запускаемого событием. События могут вызываться из тегов , , и

В этом примере, помимо объекта Label, добавлены некоторые возможности сценария и несколько событий. Во-первых, определяется элемент управления Label, затем с помощью тега добавляется элемент управления Button. Когда пользователь нажимает на кнопку, то текст Label изменяется. При повторном нажатии кнопки возвращается прежний текст. Оба эти действия являются событиями. Когда пользователь нажимает на кнопку, возникает событие, заставляющее метку изменяться. Атрибут OnClick в теге используется для того, чтобы вызвать событие. Сам по себе атрибут OnClick является событием, и его значение вызывает процедуру VBScript, которая заставляет метку изменяться. Прежний текст возвращается с помощью сценария, имеющего две процедуры. Первая используется элементом Button (кнопка), а вторая — Label (метка), если пришло время вернуть ее старое содержание. Как вы заметили, во второй процедуре имя объекта Label (MyLabel) сопровождается подчеркиванием, после которого стоит имя события (MyLabel_Click). Это означает, что когда происходит событие OnClick для названного объекта, то должны выполняться последовательности операций, перечисленные в этой процедуре.

При интенсивном программировании лучше всего использовать программу Microsoft ActiveX Control Pad, великолепно выполняющую связывание команд Visual Basic с разными событиями и элементами управления на вашей страничке. Таким образом, вы можете больше внимания обращать на сам процесс разработки приложения.

Установка свойств для элементов управления и объектов

Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:

Здесь ObjectName — имя вашего объекта, определенное с помощью параметров ID или NAME; property — свойство объекта, называемого ObjectName; value — присваиваемое свойству значение. Пример ниже иллюстрирует, как это делается:

Свойству Caption (заголовок) присваивается строка «Watch me change!». Затем устанавливаются свойства ForeColor (цвет текста), BackColor (цвет фона) и FontName (стиль шрифта). Так можно устанавливать свойства для любого объекта на странице.

Обработка событий

VBScript — событийно-ориентированный язык. Некоторые события, перечисленные в табл. 3, работают со многими элементами управления. Существует несколько методов определения того, что должно происходить в сценарии при возникновении события. Можно определить событие как параметр тега для объекта на странице. Значением этого атрибута должно быть имя процедуры, которую нужно заранее определить внутри тега. Если надо использовать определенную процедуру, то параметр LANGUAGE тега

FOR определяет имя элемента управления или объекта, для которого используется последующий код; EVENT задает событие, при возникновении которого следующий код будет вызван.

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

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

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

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

Когда пользователь щелкает мышью по метке Label, то вызывается метод About Box. Поля ввода используются для вычисления синуса заданного угла (в градусах). Если ввести некоторое значение в первое поле ввода, помеченное текстом «Enter Angle», и щелкнуть на кнопке мышью, то введенный аргумент будет переведен в радианы и затем вычислен синус, результат чего будет отображен. Первая процедура вызывается по нажатию мышью на единственный объект на странице — кнопку, называемую button1. Когда это событие обрабатывается, то вызывается сразу несколько методов. Сначала обновляются все переменные, которые вы собираетесь использовать для вашей программы. Затем отыскивается значение, называемое AngleInpt, которое пользователь набрал в поле ввода. Далее вызывается функция, в которую заносится введенный параметр из поля AngleInpt. Она преобразует угловые градусы в радианы, затем вычисляет его синус (радианы являются основной мерой измерения углов для тригонометрических функций в VBScript). Значение связывается с именем функции (getsin), которая возвращает его для определенной нами ранее переменной. В итоге это значение отображается в текстовом поле, называемом SineInpt.

В данном примере задействовано два метода: подпрограмма button1_OnClick, которая, если вы помните, вызывается, когда пользователь щелкает мышью по кнопке, и функция getsin(angle), где angle — параметр, используемый для преобразования градусов в радианы. У элемента ActiveX Label используются два включаемых метода (методами называются собственные подпрограммы и функции объекта): тот, который вызывается, когда по метке щелкнули мышкой (ieLabel1_Click), и метод отображения диалоговой панели ieLabel.AboutBox(). Когда обращаются к методам объектов, обычно используют следующий синтаксис:

Ключевое слово call применяется для вызова определенного метода. ObjectName — это имя объекта, для которого вы хотели бы вызвать метод, а MethodName() — это имя метода, который будет использовать сам объект. Имя объекта и вызываемый метод отделяются точкой. Также для вызова метода не требуется никаких скобок, потому что у него нет никаких параметров.

Объектная модель Internet Explorer 3.0

Все объекты являются дочерними от объекта Window. Объект Window содержит несколько методов, свойств и событий. Некоторые из них перечислены в табл. 1 — 3. Объект Window является исходным объектом, так что вам не требуется добавлять его имя к свойствам или дочерним объектам. Например, вместо window.name вы могли бы использовать только name.

Таблица 1.
Свойства объекта Window.

Свойство Назначение
Frames Используется, когда в текущем документе существует набор кадров (фреймов). Это свойство является массивом фреймов на странице
Location Определяет местоположение текущего окна
Name Имя того окна, чьи свойства определяются
Parent Указывает родительский фрейм или окно, чьи свойства определяются на данный момент

Таблица 2.
Несколько основных методов объекта Window.

Метод Назначение
Open Открывает или закрывает документ внутри текущего окна или другого определенного окна. У него есть два аргумента: имя файла, который вы хотите открыть, и имя окна, на котором вы хотите его разместить. Например, window.open(filename,windowname), где filename — имя файла, а windowname — имя окна. Для этого метода требуются оба параметра
Prompt Определяет всплывающую подсказку. Имеет два параметра: текст подсказки и любой заданный по умолчанию текст, который входит в подсказку. Например: window.prompt(ExpString, DftString), где ExpString — текст подсказки, а DftString — исходный текст в подсказке. Оба параметра необязательны. Если этот метод связан с переменной (как x=prompt(«stuff»,»more stuff»)), то эта переменная получит любые данные, которые были введены в подсказку, если не была нажата «отмена»
Close Используется для закрытия окна
Navigate Переключает окно на другой адрес URL. Например: window.navigate(URL), где URL — имя того URL, на который нужно перейти

Таблица 3.
События загрузки объекта Window.

Событие Назначение
OnLoad Вызывается, когда загружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры
OnUnLoad Вызывается, когда выгружается страница, содержащая данное событие. Используется в тэге как атрибут при вызове процедуры

Объект Document

Объект Document имеет дело прежде всего с телом HTML-страницы. Он имеет три дочерних объекта: Link, Anchor и Form, каждый из которых является индексированным массивом объектов link, anchor и form. Кроме того, объект Form содержит подобъект Element, который является индексированным массивом всех объектов и элементов управления на странице. Некоторые важные свойства и методы перечислены в табл. 4. Для Document, заметим, не существует никаких событий.

Таблица 4.
Некоторые методы объекта Document.

Метод Назначение
BgColor Устанавливает цвет фона текущего документа. Этот цвет может иметь шестнадцатеричное представление #rrggbb или соответствующее название
FgColor Устанавливает цвет текста документа. Аналогичен по функциям свойству BgColor
Referrer Указывает URL документа, на который ссылается пользователь в настоящее время. Например, если кто-то обратился по адресу: http://www.nm.org/welcome.htm с сервера http://www.someplace.com, то свойством Referrer будет: http://www.someplace.com, если это свойство было в странице вышеупомянутого расположения; в противном случае оно обращается в Null
LastModified Показывает дату последней модификации документа
Open Открывает документ для записи дополнительных строк в формате HTML. Синтаксис: document.open()
Write Записывает HTML-текст в текущий документ и должен вызываться, когда документ открывается для записи. Синтаксис: document.write(somestring), где somestring может быть одной строкой, переменной или же несколькими связанными строками в формате HTML, которые выводятся на экран
Close Закрывает документ после того, как имели место следующие вызовы: document.write, document.close.

Объект Frame

Объект Frame — это индексированный массив из фреймов (кадров) на странице. Первый кадр из списка соответствует кадру в верхнем левом углу браузера. Вы можете использовать данный объект для установки или получения различных URL-адресов разных фреймов, которые находятся на экране браузера. Фреймовый массив очень похож на объект Window, поскольку он использует другие объекты похожим способом. Например, вы можете использовать расположение объекта для получения или установки расположения соответствующего фрейма.

Объект History

Основной целью объекта History является доступ к списку введенных адресов в браузере. Существуют три метода, используемых для навигации по папке History. Наиболее важные методы перечислены в табл. 5. Объект History не генерирует никаких событий.

Таблица 5.
Некоторые методы объекта History.

Метод Назначение
Go Используется для того, чтобы определить, сколько раз браузер должен пролистать вперед историю введенных адресов. Формат вызова: history.go(n), где n — номер файла истории, на который нужно перейти
Forward Используется для определения того, сколько раз браузер должен пролистать вперед историю введенных адресов. Формат вызова: history.forward(n), где n — число раз, которые нужно «идти вперед»
Back Используется, чтобы определить, сколько раз браузер должен «идти назад» по текущей истории вашего браузера. Формат вызова: history.back(n), где n — число раз, которое браузер должен «идти назад»

Объект Location

Этот объект необходим для получения информации относительно текущего расположения Internet Explorer. Наиболее важные свойства перечислены в табл. 6. Этот объект не имеет никаких событий или методов.

Таблица 6.
Наиболее важные свойства объекта Location.

Свойство Назначение
Href Используется для получения URL текущего окна или для создания нового URL
Protocol Устанавливает тип протокола (FTP или HTTP) текущего документа
Host Используется для установки главной части URL текущего документа вместе с номером используемого порта
Hostname Используется для установки имени хоста в URL

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

Илон Маск рекомендует:  media screens для мобильных устройств
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL