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


Содержание

Скриптовый язык для web-страниц VBScript

VBScript для начинающих

  • ПРЕДИСЛОВИЕ
  • ОБЩИЕ СВЕДЕНИЯ
    • Что такое VBScript?
    • Как начать?
    • Добавление кода VBScript в HTML-страницу
      • Тег SCRIPT
  • УРОКИ VBSCRIPT
    • Основы VBScript
      • Типы данных
      • Переменные VBScript
      • Константы VBScript
      • Операторы VBScript
      • Использование условных операторов
      • Использование циклов
      • Подпрограммы VBScript
      • Соглашения VBScript
    • Использование VBScript в Internet Explorer
      • Простая страница с VBScript
      • VBScript и формы
      • Использование VBScript с объектами
      • Создание страниц с помощью VBScript
  • ИСПОЛЬЗОВАНИЕ ОБЪЕКТА FILESYSTEMOBJECT
    • Модель объекта FileSystemObject
    • FileSystemObject и Scripting Run-Time Library Reference
    • Объекты FileSystemObject
    • Программирование FileSystemObject
    • Работа с дисками и папками
    • Работа с файлами
    • Пример работы с объектом FileSystemObject
  • СПРАВОЧНЫЕ МАТЕРИАЛЫ
    • Функции VBScript
      • Функции VBScript
      • Функции VBA, которых нет в VBScript
      • Функции VBScript, которых нет в VBA
      • Функции Scripting Run-Time Library Reference Features
    • Список ключевых слов в алфавитном порядке
    • Константы
      • Константы VBScript
      • Цветовые константы
      • Константы сравнения
      • Константы даты и времени
      • Константы форматирования даты
      • Константы разные
      • Константы MsgBox
      • Строковые константы
      • Константы трёх состояний
      • Константы типов переменных
    • События
      • Событие Initialize
      • Событие Terminate
    • Функции
    • Методы
    • Объекты
      • Объект Class
      • Объект Dictionary
        • Свойства объекта Dictionary
        • Методы объекта Dictionary
      • Объект Err
        • Свойства объекта Err
        • Методы объекта Err
      • Объект FileSystemObject
        • Свойства объекта FileSystemObject
        • Методы объекта FileSystemObject
      • Объект Drive
        • Свойства объекта Drive
      • Объект File
        • Свойства объекта File
        • Методы объекта File
      • Объект TextStream
        • Свойства объекта TextStream
        • Методы объекта TextStream
      • Объект Match
        • Свойства объекта Match
      • Объект RegExp
        • Свойства объекта RegExp
        • Методы объекта RegExp

Программирование на Visual Basic Script для опытных программистов особой сложности не представляет. Достаточно почитать документацию, чтобы понять некоторые особенности языка и узнать отличия между VBScript и Visual Basic, а также между VBScript и VBA. Однако полная документация имеется, в основном, на английском языке. Да и начинающему разобраться в ней будет непросто. И если вы решили взяться за VBScript, то представленная ниже книга вам в этом поможет.

Где используется VBScript? Применений довольно много. Подробно об этом вы прочитаете в книге. А если коротко, то используется Visual Basic Script для написания сценариев, которые можно сохранить в файл и затем с их помощью выполнять различные рутинные процедуры. Например, очистку диска от ненужных файлов.

Кроме этого сценарии можно встраивать в веб-страницы. Поскольку VBScript является, пожалуй, самым простым в освоении языком сценариев, то он широко используется в различных приложениях, таких как SCADA-системы. Например, SCADA-система Reliance использует именно язык Visual Basic Script, который дополнен некоторыми специфическими для данной системы функциями.

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

Данная статья предназначена тем, кто хотел бы получить представление о программировании на 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 html = vbscript объект frame

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

Что означает «создаем объект» в 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.
Такие библиотеки типов откомпилированы — классы из них можно использовать, но просмотреть их исходный код нельзя (технология «черного ящика»).

Функция 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.

как сделать «включать» объект ActiveX в VB6 для VBScript?

это то, что я пытаюсь сделать:

VB6 com.dll, имя и имя_класса: scripting.includefile

VBScript:

Это возможно? заранее спасибо :)

Если суть вопроса здесь в том числе внешнего скрипта файлов в WSH скрипты, то вы можете просто перестать писать свои скрипты, как обнаженные VBS файлы и писать WSFS вместо этого.

Предположим, эти два файла в той же папке:

Utilities.vbs (Здесь мы будем только один Sub , определенный в качестве демо)

DemoScript.wsf

Вы просто прочитать файл с ним и присвоить текст элемента управления сценариев.

Это VBScript, но VBScript является законным VB6.

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

Используйте двоеточия для того чтобы отделить заявления и линии. Используйте одинарные кавычки вместо двойных кавычек, если вам нужно использовать апостроф Chr (39). Побег скобки и амперсанд с ^ характером. Если вам нужно использовать каретку Chr (136).

Функция называется ультрафильтрации (для пользовательской функции). Он имеет два параметра, L, который содержит текущую строку и LC, который содержит LineCount. Установить результаты сценария к UF. Смотрите пример.

Есть три глобальные объекты доступны. Необъявленная глобальная переменная GU для сохранения состояния. Используйте его как массив, если вам нужно больше, чем одну переменную. Словарь объект ГД для сохранения и доступа предыдущих строк. И RegExp объект greU готов к использованию.

пример

Этот VBS скрипт вставляет номер строки и устанавливает линию к функции UF, какой фильтр печатает.

Вот как это выглядит в памяти

Если есть ошибка фильтр синтаксиса будет отображать отладочную деталь.

Пользователь ошибка синтаксиса функции

Пользователь ошибка функции времени выполнения

Visual Basic + HTML = VBScript

Продажа товара приостановлена.

Попробуйте поискать похожий товар у других продавцов.

Продавец

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

Visual Basic + HTML = VBScript
Создание скриптов
Процедуры
Виды процедур
Использование подпрограмм и функций
Объект
Объектная модель
Использование объектов
Установка свойств для элементов управления и объектов
Обработка событий
Вызов методов
Объектная модель Internet Explorer 3.0
Объект Document
Объект Frame
Объект History
Объект Location

Дополнительная информация

Отзывы

С товаром «Visual Basic + HTML = VBScript» также смотрят:

В целях противодействия нарушению авторских прав и права собственности, а также исключения необоснованных обвинений в адрес администрации сайта о пособничестве такому нарушению, администрация торговой площадки Plati (http://www.plati.market) обращается к Вам с просьбой — в случае обнаружения нарушений на торговой площадке Plati, незамедлительно информировать нас по адресу support@plati.market о факте такого нарушения и предоставить нам достоверную информацию, подтверждающую Ваши авторские права или права собственности. В письме обязательно укажите ваши контактные реквизиты (Ф.И.О., телефон).

В целях исключения необоснованных и заведомо ложных сообщений о фактах нарушения указанных прав, администрация будет отказывать в предоставлении услуг на торговой площадке Plati, только после получения от Вас письменных заявлений о нарушении с приложением копий документов, подтверждающих ваши авторские права или права собственности, по адресу: 123007, г. Москва, Малый Калужский пер. д.4, стр.3, Адвокатский кабинет «АКАР №380».

В целях оперативного реагирования на нарушения Ваших прав и необходимости блокировки действий недобросовестных продавцов, Plati просит Вас направить заверенную телеграмму, которая будет являться основанием для блокировки действий продавца, указанная телеграмма должна содержать указание: вида нарушенных прав, подтверждения ваших прав и ваши контактные данные (организиционно-правовую форму лица, Ф.И.О.). Блокировка будет снята по истечение 15 дней, в случае непредставления Вами в Адвокатский кабинет письменных документов подтверждающих ваши авторские права или права собственности.

Thread: Execute javascript code on a webpage with VBA

Thread Tools
Display
  • Linear Mode
  • Switch to Hybrid Mode
  • Switch to Threaded Mode

Execute javascript code on a webpage with VBA

Hi, I am trying to make VBA execute javascript but I am probably doing something wrong, so I would be glad if anyone could help me.
Basically this is the source code of the javascript :

Actually it looks like that:

The code I tried to use in Excel VBA was:

But it doesn’t work. What it should do is to open a menu on the website.
Unfortunately, there is no way to access the website for you, because it is on Intranet. Also I wasn’t able to find anything similar on the Internet.
But I hope that you will still be able to help me.
I would be very grateful to you!

Last edited by menyanthe; Nov 13th, 2009 at 04:51 AM .

Re: Execute javascript code on a webpage with VBA

This is a bit more from the source code of the website. Basically I would like to expand the node through Excel VBA

Re: Execute javascript code on a webpage with VBA

If neither of those work try clicking the link programmatically using:

where ‘x’ is the index number of the link — you have to determine ‘x’ by some means, e.g. by looping through Links() looking for that specific href or its associated innerText, or trial and error. The Click method should execute the Javascript, just like clicking the link with a mouse.


Re: Execute javascript code on a webpage with VBA

Thanks! I would try that on Monday!

Re: Execute javascript code on a webpage with VBA

It turned out that the page is with frames. So the code works only if you open the frame with the menu, but it doesn’t work in the main window. The question is — how could I refer to frames through Excel VBA?

Re: Execute javascript code on a webpage with VBA

IE.Document.Frames is the collection of frames, but it’s easiest to get at them using the Microsoft HTML Object library. This shows the basics:

Re: Execute javascript code on a webpage with VBA

Thanks for the help, but I think I need a little more.
Now I have names of the frames, their links and I get value of «i» for each of them:

Frame name: wlMenuContainer
Frame URL: . /menu.jhtml
i = 0
Frame name: wlMenuTarget
Frame URL: . /Admin.jhtml
i = 1

Now I tried this:

But it doesn’t work (error).

Last edited by menyanthe; Nov 17th, 2009 at 06:33 AM .

Re: Execute javascript code on a webpage with VBA

Last edited by menyanthe; Nov 17th, 2009 at 06:37 AM . Reason: double post

Some v >

User Tag List

Like this thread? Share it with others

Like this thread? Share it with others

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  • BB code is On
  • Smilies are On
  • [IMG] code is On
  • [VIDEO] code is Off
  • HTML code is On

(30 responses) i copied numbers from an online account. pasted them into excel 2002. how do i convert the numbers to numbers i can multiply etc? i tried pu.

(10 responses) I have a spreadsheet with data from a survey: 9 questions, each with an answer between 1 and 5. I have a pivot table that shows me a breakdo.

(16 responses) I have a ComboBox that I am trying to get the BackColor to change based on a selection. There are 11 ComboBoxes on the sheet. After I have g.

(11 responses) I am trying to save excel worksheet to PDF however encountering runtime error 1004 with the msg with reads as «Document not saved. The .

(8 responses) I need to convert a number, which will be of indeterminate length, into a text string of fixed length. The length is 14 characters long. To f.

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

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

Независимо от того, используете вы элементы ActiveX (ранее они назывались OLE) и Java объекты, Microsoft Visual Basic Scripting Edition и Internet Explorer обрабатывают их одинаково. Если вы используете Internet Explorer с установленным элементом управления Label, вы можете проверить работу следующего кода.

Вы включаете объект, используя тег

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

Событие, связанное с кнопкой cmdChangeIt, изменяет текст элемента Label: Связь элементов управления, находящихся внутри формы и значений полей ввода/вывода выполняется также, как это описано в разделе VBScript и формы.

Несколько элементов ActiveX доступны для использования в Internet Explorer. Вы можете найти полную информацию о свойствах, методах и событиях, а также об идентификаторах классов (CLSID) для элементов управления на сайте Microsoft (http://www.microsoft.com). Вы можете найти больше информации о теге на странице Internet Explorer 4.0 Author’s Guide and HTML Reference.

ПРИМЕЧАНИЕ
Простая реализация Internet Explorer требует наличия фигурных скобок (<>) вокруг атрибутов класса, что не соответствует спецификации W3C. Использование фигурных скобок в текущей реализации генерирует сообщение «This page uses an outdated version of the tag»

Боюсь, что всё вышесказанное, для многих из вас не очень понятно, особенно если вы раньше никогда не использовали тег . В таком случае лучше всё проверить на практике. Однако. Скорее всего у вас (как и у меня), элемент управления Label не установлен, поэтому приведённый здесь пример работать не будет. Чтобы исправить это недоразумение, приведу постой пример использования описанного в этом разделе подхода. Отличие будет заключаться в том, что в качестве объекта в моем примере будет использоваться тег .

Здесь одна кнопка увеличивает размер картинки на 10% при каждом щелчке, а другая кнопка — уменьшает. Ну а всё остальное вам должно быть понятно, если вы читали предыдущие разделы. А ниже вы можете проверить работу этого кода (если ваш браузер — Internet Explorer):

Объекты InternetExplorer и WebBrowser

1. Создание объектов

Internet Explorer включает два ActiveX-объекта: WebBrowser Object и InternetExplorer Object. Элемент управления WebBrowser может быть интегрирован непосредственно в форму VB или размещён на Web-странице, а объект InternetExplorer доступен только через механизм OLE Automation. Функциональность WebBrowser меньше по сравнению с функциональностью InternetExplorer. Упрощенно говоря, WebBrowser — это собственно окно просмотра документа в браузере, а InternetExplorer — это весь браузер, включая меню, панели инструментов, строку состояния и прочее. Оба объекта находятся в библиотеке «Microsoft Internet Controls» (shdocvw.dll в каталоге system32). Также может пригодиться библиотека «Microsoft HTML Object Library» (mshtml.dll там же) — это именно та среда, с которой оперируют скрипты на языках JavaScript и VBScript на Web-страницах. Примечание: приведённое ниже описание свойств, методов и событий не является до конца исчерпывающим (исчерпывающее описание можно найти в MSDN) и предназначено, в первую очередь, для работы с обозревателем как с OLE-Automation сервером из различных скриптовых сред или Visual Basic.

Пример создания OLE-объекта InternetExplorer:

Пример размещения ActivX-объекта WebBrowser на Web-странице:

2. Свойства

Применение некоторых свойств — см. Примеры кода.

Свойство Описание Доступно
Application Возвращает сам объект. Только чтение. InternetExplorer, WebBrowser
Visible Управляет видимостью окна обозревателя (булево). Чтение и запись. По умолчанию — False. InternetExplorer, WebBrowser
AddressBar Управляет отображением адресной строки обозревателя (булево). Чтение и запись. По умолчанию — True. InternetExplorer
MenuBar Управляет отображением строки меню обозревателя (булево). Чтение и запись. По умолчанию — True. InternetExplorer
ToolBar Управляет отображением панелей инструментов обозревателя (булево). Чтение и запись. По умолчанию — True. InternetExplorer
StatusBar Управляет отображением строки состояния обозревателя (булево). Чтение и запись. По умолчанию — True. InternetExplorer
FullScreen Управляет отображением окна обозревателя в полный экран (булево). Чтение и запись. По умолчанию — False. InternetExplorer
TheaterMode Управляет отображением окна обозревателя в режиме театра (булево). Чтение и запись. По умолчанию — False. Примечание: переход в режим театра и обратно интерактивно осуществляется с помощью команды меню «Вид» — «Во весь экран» или клавишей «F11». InternetExplorer
Resizable Управляет возможностью изменения размеров окна обозревателя (булево). Чтение и запись. По умолчанию — True. InternetExplorer
Silent Управляет возможностью выдачи обозревателем диалоговых окон о критических ошибках и сообщений безопасности (булево). Чтение и запись. По умолчанию — False (диалоговые окна не запрещены). InternetExplorer, WebBrowser
Offline Управляет переводом обозревателя в режим Offline (булево). Чтение и запись. По умолчанию — False. В режиме Offline обозреватель принудительно отдаёт предпочтение чтению HTML-страниц из локального кэша. InternetExplorer, WebBrowser
RegisterAsBrowser Управляет регистрацией объекта как «top-level browser» (булево). Чтение и запись. По умолчанию — False. Архитектура Microsoft Internet Explorer допускает наличие нескольких экземпляров объекта WebBrowser. Например, веб-страница с фреймами может содержать объект WebBrowser для каждого фрейма. Термин «top-level» означает объект WebBrowser, который является родительским для всех других объектов WebBrowser. InternetExplorer, WebBrowser
Parent Возвращает ссылку на родительский объект. Только чтение. InternetExplorer, WebBrowser
Container Возвращает ссылку на объект-контейнер. Только чтение. InternetExplorer, WebBrowser
TopLevelContainer Возвращает признак того, является ли объект «top-level» контейнером (булево). Только чтение. InternetExplorer, WebBrowser
RegisterAsDropTarget Управляет регистрацией объекта как принимающего данные при операциях «drag-and-drop» (булево). Чтение и запись. По умолчанию — False. InternetExplorer, WebBrowser
StatusText Устанавливает или возвращает текст строки состояния обозревателя. Чтение и запись. InternetExplorer
Height Управляет высотой окна обозревателя (в пикселах). Чтение и запись. InternetExplorer, WebBrowser
Width Управляет шириной окна обозревателя (в пикселах). Чтение и запись. InternetExplorer, WebBrowser
Top Управляет положением верхнего края окна обозревателя. Чтение и запись. InternetExplorer, WebBrowser
Left Управляет положением левого края окна обозревателя. Чтение и запись. InternetExplorer, WebBrowser
Name Возвращает имя объекта, в котором содержится элемент управления WebBrowser. Только чтение. InternetExplorer
FullName Возвращает полный путь к исполняемому файлу Microsoft Internet Explorer. Только чтение. InternetExplorer
Path Возвращает полный путь к каталогу исполняемомого файла Microsoft Internet Explorer. Только чтение. InternetExplorer
Type Возвращает тип объекта, содержащегося в документе (строка). Только чтение. InternetExplorer, WebBrowser
LocationName Возвращает имя отображаемого в данный момент ресурса (строка). Только чтение. Если отображается HTML-страница, имя ресурса — заголовок этой страницы. Если отображается папка или файл, имя ресурса — полный путь в UNC-формате. InternetExplorer, WebBrowser
LocationURL Возвращает URL отображаемого в данный момент ресурса (строка). Только чтение. Если отображается папка или файл, URL ресурса — полный путь в UNC-формате. InternetExplorer, WebBrowser
HWND Возвращает handle главного окна Microsoft Internet Explorer (целое число, Long). Только чтение. InternetExplorer
Busy Возвращает булево значение, сигнализирующее о том, занят ли объект операцией навигации или скачивания. Только чтение. Если объект занят, можно применить метод Stop для прерывания операции. InternetExplorer, WebBrowser
ReadyState Возвращает значение, сигнализирующее состояние готовности объекта. Только чтение. Возможные значения: 0 — не инициализирован, 1 — загрузка, 2 — загрузка завершена, 3 — доступны не все данные (это то состояние, когда браузер позволяет просматривать страницу в интерактивном режиме, хотя загружены ещё не все компоненты; начиная с этого момента HTML-код вполне пригоден для обработки), 4 — готово. InternetExplorer, WebBrowser
Document Возвращает объект документа (объект, функционально эквивалентный объекту документа, используемому в скриптах на Web-страницах). Только чтение. InternetExplorer, WebBrowser

3. Методы

Применение некоторых методов — см. Примеры кода.

Метод Описание Доступно
Stop Отменяет любую незаконченную операцию навигации или скачивания и останавливает любые динамические элементы страницы, такие, как фоновую музыку и анимацию. InternetExplorer, WebBrowser
Quit Закрывает объект. InternetExplorer
ExecWB Выполняет команду и возвращает статус выполнения. Подробнее. InternetExplorer, WebBrowser
QueryStatusWB Возвращает статус указанной команды. Подробнее. InternetExplorer
ShowBrowserBar Показывает или скрывает указанную панель обозревателя. Подробнее. InternetExplorer
ClientToWindow Конвертирует клиентские координаты точки (от левого верхнего угла клиентской области окна) в координаты окна (от левого верхнего угла окна). Первый параметр — целое число, х-координата точки в клиентской области, после вызова ClientToWindow содержит х-координату точки в координатах окна. Второй параметр — аналогично, y-координата. InternetExplorer
GoBack Осуществляет навигацию на один шаг назад по истории. InternetExplorer, WebBrowser
GoForward Осуществляет навигацию на один шаг вперёд по истории. InternetExplorer, WebBrowser
GoHome Осуществляет навигацию на домашнюю страницу. InternetExplorer, WebBrowser
GoSearch Осуществляет навигацию на страницу поиска. InternetExplorer, WebBrowser
Navigate Осуществляет навигацию к указанному ресурсу. Подробнее. InternetExplorer, WebBrowser
Navigate2 Аналогичен методу Navigate, но параметр PostData имеет тип массива SAFEARRAY. Кроме того, ресурс может быть представлен в виде PIDL (Pointer to an Item Identifier List) в пространстве имён оболочки Windows. InternetExplorer, WebBrowser
Refresh Обновляет (перезагружает) страницу. Чтобы избежать обновления ресурса из дискового кэша браузера, следует использовать соответствующие параметры при предшествующих вызовах методов Navigate или Navigate2. InternetExplorer, WebBrowser
Refresh2 Аналогичен методу Refresh, но имеет единственный необязательный параметр, который задаёт «уровень» обновления. Подробнее. InternetExplorer, WebBrowser

3.1. Метод ExecWB

Выполняет команду и возвращает статус выполнения. Доступен в InternetExplorer и WebBrowser.


    Cmd > Некоторые возможные значения параметра «CmdID» (подробнее — см. в MSDN описание «OLECMDID enumeration»):

1 Меню «Файл» — «Открыть. «.
4 Меню «Файл» — «Сохранить как. «.
6 Меню «Файл» — «Печать. «.
7 Меню «Файл» — «Предварительный просмотр. «.
8 Меню «Файл» — «Параметры страницы. «.

Возможные значения параметра «CmdExecOpt»:

Команда исполняется так, как принято по умолчанию.
1 Перед выполнением выводится окно диалога или дополнительных настроек.
2 Не запрашивать ввод пользователя (не задается никаких вопросов).
3 Выводится справка по запрошенному действию, но сама команда не выполняется.

3.2. Метод QueryStatusWB

Возвращает статус указанной команды. Доступен в InternetExplorer.


    Cmd > Возможные значения флагов в возвращаемом значении (возвращаемое значение — сумма флагов):

1 Команда поддерживается.
2 Команда доступна и разрешена.
4 Команда является переключателем и в данный момент включена.
8 Команда зарезервирована для будущего использования.

3.3. Метод ShowBrowserBar

Показывает или скрывает указанную панель обозревателя. Доступен в InternetExplorer.


    vCls > Некоторые возможные значения параметра «vClsID»:

Search
Favorites
History
Folders

3.4. Метод Navigate

Осуществляет навигацию к указанному ресурсу (инициирует операцию открытия документа). Доступен в InternetExplorer и WebBrowser.

  1. Url — строка, определяющая URL или полный путь к файлу.
  2. Flags — необязательный. Набор флагов, определяющий, нужно ли добавлять ресурс в историю, записывать/читать ресурс в/из кэша, отображать ресурс в новом окне.
  3. TargetFrameName — необязательный. Строка, имя фрейма HTML, в котором следует отобразить ресурс. Если такого фрейма не существует, откроется новое окно.
  4. PostData — необязательный. Позволяет передать на Web-сервер данные, полученные в результате заполнения формы, если этот сервер требует HTTP — транзакции POST. Если этот параметр не определён, метод осуществляет HTTP GET транзакцию. Если указанный Url — не HTTPURL, параметр игнорируется.
  5. Headers — необязательный. Значение, определяющее дополнительные HTTP заголовки для отправки на сервер. Эти заголовки добавляются к заголовкам Microsoft Internet Explorer по умолчанию. Заголовки могут определять тип данных, код состояния и т.п. Если указанный Url — не HTTPURL, параметр игнорируется.

Возможные значения флагов параметра «Flags»:

1 navOpenInNewWindow. Открыть ресурс в новом окне.
2 navNoHistory. Не добавлять ресурс в историю просмотренных. Текущая страница добавляется в историю.
4 navNoReadFromCache. Не загружать страницу из кэша.
8 navNoWriteToCache. Не сохранять страницу в кэше.
16 navAllowAutosearch. Если навигация не удалась, осуществляется попытка навигации к корневому домену (.com, .edu и т.д.). Если и эта попытка не удалась, запускается поиск.
32 navBrowserBar. Пытается использовать для навигации текущую панель браузера, если это возможно.
64 navHyperlink. Если навигация не удалась, следуя гиперссылке, ресурс будет связан с псевдонимом с использованием флага BINDF_HYPERLINK.

Возможные значения параметра «TargetFrameName» (кроме собственно имени конкретного фрейма):

_BLANK Загружать ресурс в новое безымянное окно.
_SELF Загружать документ в тот же фрейм, в котором находится ссылающийся на него документ.
_PARENT Загружать документ в непосредственный родительский фрейм этого фрейма в наборе фреймов FRAMESET. Это значение эквивалентно _SELF, если текущий фрейм не имеет родительского фрейма.
_TOP Загружать документ в полное окно (закрывая все остальные фреймы). Это значение эквивалентно _SELF, если у текущего фрейма нет родительского фрейма.

3.5. Метод Refresh2

Аналогичен методу Refresh, но имеет единственный необязательный параметр, который задаёт «уровень» обновления. Заголовок «pragma:nocashe» запрещает серверу возвращать кэшированную копию документа, обеспечивая самую свежую информацию, однако этот заголовок может послужить причиной проблем на некоторых серверах.

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 -технологии. При написании обычных административных скриптов рекомендуется пользоваться документацией по объектным моделям, хотя для определения дополнительных возможностей можно использовать и просмотрщики библиотек.

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

Илон Маск рекомендует:  Элементы figure и figcaption
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL