Visual basic html = vbscript объект


Содержание

Встроенные функции в VBScript

Эта статья содержит перечень и краткое пояснение к математическим, строковым и другим функциям в языке VBScript. Данные функции позволят преобразовывать строки, числа, а так же дату и время. Информация взята с сайта script-coding.com

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

Возвращает абсолютное значение числа x.

Возвращает целую часть числа x. Если х — отрицательное число, функция вернёт ближайшее целое число, меньшее, чем х.

Возвращает целую часть числа x. Если х — отрицательное число, функция вернёт ближайшее целое число, большее, чем х.

Знаковая функция числа x. Возвращает 1 для чисел больше нуля, 0 для нуля и -1 для чисел меньше нуля.

Возвращает результат округления числа x с точностью до numdecimal знаков после запятой.

Возвращает случайное число от 0 до 1. Необязательный аргумент является начальным значением для генерации случайных чисел.

Возвращает квадратный корень числа x.

Возвращает синус числа x.

Возвращает косинус числа x.

Возвращает тангенс числа x.

Возвращает арктангенс числа x.

Экспоненциальная функция, возвращает число е в степени x.

Возвращает натуральный логарифм числа x.

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

Функция Описание
Abs(x)
Int(x)
Fix(x)
Sgn(x)
Round(x, [numdecimal])
Rnd([x])
Sqr(x)
Sin(x)
Cos(x)
Tan(x)
Atn(x)
Exp(x)
Log(x)

Возвращает ASCII-код первого символа в строке str.

Возвращает символ с ASCII-кодом code.

Возвращает индекс символа, с которого начинается первое вхождение подстроки str2 в строку str1. Параметр start задаёт номер символа, с которого следует начинать поиск (если не задан, то с начала строки). Поиск производится слева направо. Параметр compare задаёт режим сравнения при обработке строк (0 — двоичное сравнение, 1 — текстовое сравнение).

То же самое, что InStr, но поиск производится справа налево, т.е возвращается номер последнего символа, с которого начинается вхождение подстроки str2 в строку str1.

Возвращает строку, полученную в результате конкатенации подстрок, содержащихся в массиве list. Параметр delim задаёт символ разделителя (по умолчанию — пробел).

Возвращает массив строк, полученных в результате разбиения строки expr на подстроки. Параметр delim задаёт символ разделителя (по умолчанию — пробел). Параметр count определяет число подстрок (по умолчанию — все). Параметр compare задаёт режим сравнения при обработке строк (0 — двоичное сравнение, 1 — текстовое сравнение).

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

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

Возвращает len символов с начала строки str.

Возвращает len символов с конца строки str.

Возвращает из строки str подстроку, которая начинается с позиции start и имеет длину len. Если параметр len не указан, возвращаются все символы до конца строки.

Возвращает число символов в строке str.

Возвращает строку, в которой удалены все начальные пробелы.

Возвращает строку, в которой удалены все конечные пробелы.

Возвращает строку, в которой удалены все начальные и конечные пробелы.

Возвращает строку, которая получается из строки expr путём замен входящих в неё подстрок find на подстроки replacewith. Параметр start определяет начальную позицию поиска. Параметр count определяет число замен (по умолчанию — все). Параметр compare задаёт режим сравнения при обработке строк (0 — двоичное сравнение, 1 — текстовое сравнение).

Возвращает строку, состоящую из х пробелов.

Возвращает строку, состоящую из number символов char.

Сравнивает строки. Если str1 str2, возвращается 1. Параметр compare задаёт режим сравнения при обработке строк (0 — двоичное сравнение, 1 — текстовое сравнение).

Возвращает строку, полученную из строки str путём изменения порядка символов в строке на обратный.

Возвращает строку, отформатированную в денежном формате. Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

Возвращает строку, отформатированную в формате даты-времени. Параметр date задаёт значение для форматирования. Параметр namedFormat задаёт способ форматирования (см. описание констант форматов даты и времени в разделе «Константы даты и времени»).

Возвращает строку, отформатированную в числовом формате. Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

Возвращает строку, отформатированную в процентном формате (аргумент умножается на 100). Параметр expr задаёт значение для форматирования. Если необязательные параметры не заданы, значения берутся из региональных настроек. Параметр numDigitsAfterDecimal задаёт количество десятичных разрядов справа от точки. Параметр includeLeadDigit задаёт отображение лидирующих нулей для дробных значений (true или false). Параметр useParens задаёт отображение скобок для отрицательных значений (true или false). Параметр groupDigits задаёт группировку разрядов с использованием разделителя из региональных настроек (true или false).

Функции для работы с датой и временем

Функция Описание
Asc(str)
Chr(code)
InStr([start,] str1, str2[, compare])
InStrRev(str1, str2[, start[, compare]])
Join(list[, delim])
Split(expr[, delim[, count[, compare]]])
LCase(str)
UCase(str)
Left(str, len)
Right(str, len)
Mid(str, start[, len]))
Len(str)
LTrim(str)
RTrim(str)
Trim(str)
Replace(expr, find, replacewith[, start[, count[, compare]]])
Space(x)
String(number, char)
StrComp(str1, str2[, compare])
StrReverse(str)
FormatCurrency(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])
FormatDateTime(date[, namedFormat])
FormatNumber(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])
FormatPercent(expr[, numDigitsAfterDecimal[, includeLeadDigit[, useParens[, groupDigits]]]])

Возвращает текущую системную дату.

Возвращает текущие системные дату и время в виде, соответствующем региональным настройкам Windows.

Возвращает текущее системное время.

Возвращает количество секунд, прошедших с полуночи.

Возвращает true, если параметр expr задаёт корректную дату, и false в противном случае.

Выделяет год из даты, заданной параметром date, и возвращает это целое число.

Выделяет номер месяца из даты, заданной параметром date, и возвращает целое число от 1 до 12.

Выделяет номер дня месяца из даты, заданной параметром date, и возвращает целое число от 1 до 31.

Возвращает целое число — день недели для даты, заданной параметром date. Параметр firstdayofweek — константа, показывающая, какой из дней недели считать первым.

Выделяет номер часа из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 23.

Выделяет количество минут из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 59.

Выделяет количество секунд из даты или момента времени, заданных параметром time, и возвращает целое число от 0 до 59.

Возвращает переменную подтипа Date, которая соответствует дате, заданной символьным параметром date.

Возвращает переменную подтипа Date, которая соответствует времени, заданному символьным параметром time.

Возвращает переменную подтипа Date, которая соответствует указанным году (параметр year), месяцу (параметр month) и дню (параметр day).

Возвращает переменную подтипа Date, которая соответствует указанным часу (параметр hour), минуте (параметр minute) и секунде (параметр second).

Возвращает наименование для месяца с номером month. Если параметр abbr равен true, наименование месяца представляется в виде аббревиатуры, если false — в полном виде.

Возвращает наименование дня недели с порядковым номером weekday. Если параметр abbr равен true, наименование дня недели представляется в виде аббревиатуры, если false — в полном виде. Параметр firstdayofweek — константа, показывающая, какой из дней недели считать первым.

Возвращает дату, отстоящую от даты date на number интервалов, заданных параметром interval, который может принимать значения:
«yyyy» — год
«q» — квартал
«m» — месяц
«y» — день года
«d» — день
«w» — день недели
«ww» — неделя года
«h» — час
«n» — минута
«s» — секунда

Возвращает количество интервалов interval между датами date1 и date2. Возможные значения параметра interval — те же, что и в функции DateAdd. Параметр firstdayofweek — константа, показывающая, какой из дней недели считать первым. Параметр firstweekofyear — константа, показывающая, какую неделю считать первой в году.

Возвращает ту часть даты, которая соответствует параметру interval. Возможные значения параметра interval — те же, что и в функции DateAdd. Параметр firstdayofweek — константа, показывающая, какой из дней недели считать первым. Параметр firstweekofyear — константа, показывающая, какую неделю считать первой в году.

Прочие функции

Функция Описание
Date
Now
Time
Timer
IsDate(expr)
Year(date)
Month(date)
Day(date)
Weekday(date[, firstdayofweek])
Hour(time)
Minute(time)
Second(time)
DateValue(date)
TimeValue(time)
DateSerial(year, month, day)
TimeSerial(hour, minute, second)
MonthName(month[, abbr])
WeekdayName(weekday[, abbr[, firstdayofweek]])
DateAdd(interval, number, date)
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

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

Возвращает наименьшее значение, которое которое может принимать индекс в массиве arrayname в размерности dimension (по умолчанию параметр dimension равен 1).

Возвращает наибольшее значение, которое которое может принимать индекс в массиве arrayname в размерности dimension (по умолчанию параметр dimension равен 1).

Возвращает массив, созданный путём фильтрации переданного массива по заданным критериям. Параметр inputStrings — исходный одномерный массив строк. Параметр value — строка, критерий отбора. Параметр include — если задано true, в результат попадут только строки, которые содержат подстроку value, если задано false — в результат попадут только строки, которые не содержат подстроку value. Параметр compare — тип сравнения (0 — двоичный, 1 — текстовый).

Возвращает true, если параметр varname является массивом, и false в противном случае.

Возвращает true, если параметр varname задаёт корректную дату, и false в противном случае.

Возвращает true, если переменная varname объявлена, но не инициализирована, и false в противном случае.

Возвращает true, если переменная varname не содеоржит никаких корректных данных, и false в противном случае.

Возвращает true, если переменная varname может быть рассмотрена в качестве числа, и false в противном случае.

Возвращает true, если переменная varname является указателем на внешний объект, и false в противном случае.

Возвращает числовое значение, соответствующее подтипу переменной varname (см. описание констант подтипов данных в разделе «Прочие константы»).

Возвращает строку, содержащую тип переменной varname.

Возвращает шестнадцатеричное представление (в символьном виде) числа number.

Возвращает восьмеричное представление (в символьном виде) числа number.

Выводит на экран диалоговое окно с сообщением и различными кнопками и возвращает результат нажатия на одну из кнопок. Возможные варианты возврата — см. описание констант нажатий на кнопки в разделе «Константы для диалоговых окон». Параметр prompt задаёт текст сообщения. Числовой параметр buttons определяет состав кнопок, значок, кнопку по умолчанию и режим модальности окна — см. описание констант в разделе «Константы для диалоговых окон» (значения необходимых констант для передачи в параметр buttons нужно просто сложить). Параметр title задаёт текст заголовка диалогового окна. Параметр helpfile задаёт путь к файлу помощи. Параметр context задаёт идентификатор содержания помощи.

Выводит на экран диалоговое окно со полем ввода и кнопками ОК, Отмена и возвращает введённую в этом окне символьную строку. Параметр prompt задаёт текст сообщения, которое выводится рядом с полем ввода. Параметр title задаёт текст заголовка диалогового окна. Параметр default задаёт значение по умолчанию для поля ввода. Параметры xpos и ypos определяют координаты левого верхнего угла окна. Параметр helpfile задаёт путь к файлу помощи. Параметр context задаёт идентификатор содержания помощи.

Создаёт экземпляр объекта автоматизации и возвращает ссылку на него. Здесь servername — имя приложения, являющегося сервером автоматизации, typename — тип или класс создаваемого объекта, location — сетевое имя компьютера, на котором будет создан объект.

Возвращает ссылку на объект класса classname, который хранится в отдельном файле, путь к которому задаётся параметром pathname.

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных boolean (true или false). Например, CBool(3=2) или CBool(«-1»).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных byte (целое число от 0 до 255). Например, CByte(256) вызовет ошибку переполнения.

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных currency (специальный числовой формат для денежных величин).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных date/time (даты от 1 января 100 года до 31 декабря 9999 года).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных double (числа с плавающей точкой двойной точности).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных integer (целые числа в диапазоне от -32768 до 32768).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных long (целые числа в диапазоне от -2 147 483 648 до 2 147 483 647).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных single (числа с плавающей точкой одинарной точности).

Возвращает значение, полученное в результате преобразования выражения expr к подтипу данных string.

Вычисляет выражение и возвращает результат. Например, Eval(3=2).

Возвращает текущее значение (ID) настроек локализации (набор установок языка, региона, раскладки клавиатуры и т.д.). Возможные значения — см. MSDN статью «Locale ID (LCID) Chart».

Возвращает текущее значение (ID) настроек локализации (набор установок языка, региона, раскладки клавиатуры и т.д.) и устанавливает новое. Возможные значения — см. MSDN статью «Locale ID (LCID) Chart».

Возвращает название текущего языка, например, «VBScript».

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

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

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

Возвращает целочисленное значение, соответствующее цвету RGB, заданному с помощью трёх составляющих — красного, зелёного и синего цветов числами от 0 до 255.

Visual basic html = vbscript объект

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 (к коим я не отношусь:(.
Суть программы: вводим текст в верхнее поле, нажимаем кнопку «Скопировать» и текст копируется в нижнее поле.

Функция Описание
Array(arglist)
LBound(arrayname[, dimension])
UBound(arrayname[, dimension])
Filter(inputStrings, value[, include[, compare]])
IsArray(varname)
IsDate(varname)
IsEmpty(varname)
IsNull(varname)
IsNumeric(varname)
IsObject(varname)
VarType(varname)
TypeName(varname)
Hex(number)
Oct(number)
MsgBox(prompt[, buttons][, title][, helpfile, context])
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
CreateObject(servername.typename[, location])
GetObject([pathname][, classname])
CBool(expr)
CByte(expr)
CCur(expr)
CDate(expr)
CDbl(expr)
CInt(expr)
CLng(expr)
CSng(expr)
CStr(expr)
Eval(expr)
GetLocale
SetLocale(lcid)
ScriptEngine
ScriptEngineBuildVersion
ScriptEngineMajorVersion
ScriptEngineMinorVersion
RGB(red, green, blue)

Да, как видно, различий практически нет. 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

Скриптовый язык для 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
Java Script VB Script

Программирование на 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 объект

Скрипты на языке 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, которая выводит диалоговое окно с сообщением (символы после знака апостроф являются комментариями):

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

См. также

  • Visual Basic for Applications
  • JScript — альтернативный скриптовый язык, созданный компанией Microsoft на основе EcmaScript

Ссылки

  • VBScript (англ.) — Руководство по VBScript от Майкрософт.
  • The Script Center Script Repository (англ.) — Коллекция скриптов на VBScript от Майкрософт.
  • Форум по Visual Basic и VBS — русскоязычный форум посвящённый программированию на Visual Basic 6.0 и VBA, .Net, VBS, ASP.Net.
  • Visual Basic FAQ — База готовых кодов на Visual Basic. Часто задаваемые вопросы.
  • [1] — Плейлист на YouTube с кратким обучением VBS
  • [2] — Русскоязычный ресурс, посвященный программированию на различных макроязыках и в скриптовых средах, в том числе и в VBSE.
  • [3] — CHM-файл справки на русском языке описывает свойства и методы объектов Windows Script Host, а также некоторых других объектов OLE Automation.
Компоненты Microsoft Windows
Основные

Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH • VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32

Службы
управления
Приложения

Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом

Chess Titans • Mahjong Titans • Purble Place • Пасьянсы (Косынка • Паук • Солитер) • Сапёр • Пинбол • Червы

Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка

Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций

NT • Диспетчер объектов • Пакеты запроса ввода/вывода • Диспетчер транзакций ядра • Диспетчер логических дисков • Диспетчер учетных записей безопасности • Защита ресурсов • lsass.exe • csrss.exe • smss.exe • spoolsv.exe • Запуск

Безопасность
Совместимость
API и фреймворки Microsoft
Графика Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component
Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2
Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows
Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets
Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC
Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay
Коммуникации Messaging API · Telephony API · WCF
Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System
Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework
Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL)
Драйверы устройств Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD
Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI)
.NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF
Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF
IPC MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF
Доступность Active Accessibility · UI Automation
DirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe

Wikimedia Foundation . 2010 .

Смотреть что такое «Visual Basic Scripting Edition» в других словарях:

Visual Basic Scripting Edition — Visual Basic Scripting Edition, ein Bestandteil der Makro /Programmiersprache Visual Basic for Applications, der für das Programmieren in einer Webumgebung konzipiert ist … Universal-Lexikon

Visual Basic Scripting Edition — programming language developed by Microsoft that is based on Visual Basic and supported by the Internet Explorer browser (enables features similar to Java, such as interactive buttons, scrolls, etc … English contemporary dictionary

Visual Basic — Не следует путать с Visual Basic .NET. Visual Basic Класс языка: процедурный, объектно ориентированный, компонентно ориентированный Тип исполнения: компилируемый, интерпретируемый Появился в: 1991 … Википедия

Visual Basic .Net — Basisdaten Paradigmen: prozedural, vollständig objektorientiert Erscheinungsjahr: 2002 Entwickle … Deutsch Wikipedia

Visual Basic 6.0 — Visual Basic .NET Basisdaten Paradigmen: prozedural, vollständig objektorientiert Erscheinungsjahr: 2002 Entwickle … Deutsch Wikipedia

Visual Basic — NET Basisdaten Paradigmen: prozedural, vollständig objektorientiert Erscheinungsjahr … Deutsch Wikipedia

Visual Basic for Applications — (VBA) Paradigm(s) Multi paradigm Appeared in 1993 Developer Microsoft … Wikipedia

Visual Basic — This article is about the Visual Basic language shipping with Microsoft Visual Studio 6.0 or earlier. For the Visual Basic language shipping with Microsoft Visual Studio .NET or later, see Visual Basic .NET. Visual Basic Paradigm(s) Object based… … Wikipedia

Visual Basic — Cet article concerne le langage Visual Basic, commercialisé avec Microsoft Visual Studio 6.0 et antérieur. Pour la version de Visual Basic commercialisée avec Microsoft Visual Studio .Net, voir Visual Basic .NET. Visual Basic Auteur … Wikipédia en Français

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

Объекты (Visual Basic) Objects (Visual Basic)

В этом разделе приводятся ссылки на другие разделы, содержащие описание объектов времени выполнения Visual Basic и таблицы процедур, свойств и событий их элементов. This topic provides links to other topics that document the Visual Basic run-time objects and contain tables of their member procedures, properties, and events.

Объекты времени выполнения Visual Basic Visual Basic Run-time Objects

Collection Предлагает удобный способ просматривать связанную группу элементов в виде одного объекта. Provides a convenient way to see a related group of items as a single object.
Err Содержит сведения об ошибках во время выполнения. Contains information about run-time errors.
Объект My.Application состоит из следующих классов: The My.Application object consists of the following classes:

ApplicationBase включает элементы, доступные во всех проектах; ApplicationBase provides members that are available in all projects.

WindowsFormsApplicationBase включает элементы, доступные в приложениях Windows Forms; WindowsFormsApplicationBase provides members available in Windows Forms applications.

Примеры VBS: объект VBScript.RegExp

Dragokas

Very kind Developer

Объект VBScript.RegExp — регулярные выражения.

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

Dragokas

Very kind Developer

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

Возможности регулярных выражений:

  • Сравнить текст с заданным шаблоном. Например, введённый пользователем телефонный номер должен соответствовать шаблону «8(***)***-***-**», где * — любая цифра, но не буква.
  • Заменить или удалить из введённой пользователем строки текст, соответствующий заданному шаблону.
  • Извлечь из введённой пользователем строки текст, соответствующий заданному шаблону.

Регулярное выражение — это образец текста, который состоит из обычных символов и/или специальных метасимволов.

Возвращаемое значение: число (булево).
False — проверять до первого соответствия,
True — проверять по всему тексту. По умолчанию — False.
Замечание: чтение и запись.

Использование 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):

Доступ к элементу коллекции VB6 из VBScript, встроенного в HTML

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

У меня есть метод, который возвращает Collection , и когда я пытаюсь получить к нему доступ из VBScript, я могу только запросить Count , но когда я пытаюсь сделать job.Item(i) или job(i) , я получаю сообщение об ошибке он не имеет этого свойства или метода.

Может ли кто-нибудь указать мне в правильном направлении, чтобы иметь возможность перемещать содержимое этой коллекции?

Мне пришлось делать это с помощью JavaScript, но, поскольку некоторые вещи были не такими легкими, я решил, что, возможно, VBScript поможет мне преодолеть пробелы, где JavaScript не разрезал. Я могу получить доступ ко всем свойствам из ActiveXObject из JavaScript, но методы, которые возвращают другие объекты VB, немного более неясны для меня. Я пробовал aJob.Item(iCount) , aJob.Items(iCount) и aJob(iCount) .

Люди часто создают специализированные и/или строго типизированные классы коллекции в VB6. Однако они не всегда делают это правильно, и иногда они создают «частичные» реализации коллекции, у которых нет метода Item() (или не помечены как член класса по умолчанию). Они могут даже иметь аналогичный метод или свойство, но назовите его чем-то совершенно другим.

Реднее вернуть исходный объект Collection, но это может быть сделано, и если это так, вы не должны иметь проблем, указанных в VBScript.

Я только что создал DLL-проект под названием «HallLib» с тремя классами: «Прихожая», «DoorKnobs» и «DoorKnob». Класс DoorKnobs — это коллекция объектов DoorKnob. Класс Hallway имеет объект DoorKnobs, который инициализируется случайным набором объектов DoorKnob со случайно заданными свойствами. Hallway.DoorKnobs() возвращает объект коллекции DoorKnobs в качестве результата.

Он отлично работает в этом script:

Update:

Этот script дает идентичные результаты:

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

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

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

Илон Маск рекомендует:  Атрибут rev в HTML
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL