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


Встроенные функции в 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 объект location

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

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

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

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

Visual Basic + HTML = VBScript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Функция GetObject GetObject function

Возвращает ссылку на объект, предоставляемый компонентом ActiveX. Returns a reference to an object provided by an ActiveX component.

Синтаксис Syntax

GetObject ([ путь ], [ класс ]) GetObject([ pathname ], [ class ])

Синтаксис функции GetObject имеет следующие именованные аргументы: The GetObject function syntax has these named arguments:

Часть Part Описание Description
pathname pathname Необязательный элемент, Variant (String). Optional; Variant (String). Полный тип и имя файла, содержащий объект, который требуется получить. The full path and name of the file containing the object to retrieve. Если аргумент имя_пути пропущен, класс является обязательным. If pathname is omitted, class is required.
класс class Необязательный элемент; имеет тип Variant (String). Optional; Variant (String). Строка, представляющая класс объекта. A string representing the class of the object.

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

Используйте функцию GetObject для доступа к объекту ActiveX из файла и назначения объекта объектной переменной. Use the GetObject function to access an ActiveX object from a file and assign the object to an object variable. Используйте оператор Set , чтобы назначить объект, возвращаемый **** методом GetObject, объектной переменной. Use the Set statement to assign the object returned by GetObject to the object variable. Например: For example:

При выполнении этого кода запускается приложение, связанное с указанным путем к указанному пути , и активируется объект в указанном файле. When this code is executed, the application associated with the specified pathname is started, and the object in the specified file is activated.

Если имя_пути имеет пустую строку («»), GetObject возвращает новый экземпляр объекта указанного типа. If pathname is a zero-length string («»), GetObject returns a new object instance of the specified type. Если аргумент имя_пути пропущен, функция GetObject возвращает текущий активный объект указанного типа. If the pathname argument is omitted, GetObject returns a currently active object of the specified type. Если объект указанного типа не существует, происходит ошибка. If no object of the specified type exists, an error occurs.

Некоторые приложения разрешают активировать часть файла. Some applications allow you to activate part of a file. Добавьте восклицательный знак (!) в конец имени файла и после него укажите строку, которая определяет часть файла, которую необходимо активировать. Add an exclamation point (!) to the end of the file name and follow it with a string that identifies the part of the file that you want to activate. Сведения о том, как создать эту строку, можно найти в документации по приложению, в котором создан объект. For information about how to create this string, see the documentation for the application that created the object.

Например, в приложении рисования можно иметь несколько уровней для рисунка, сохраненного в файле. For example, in a drawing application you might have multiple layers to a drawing stored in a file. Для активации слоя в изображении можно использовать следующий код SCHEMA.CAD : You could use the following code to activate a layer within a drawing called SCHEMA.CAD :

Если не указать _класс_объекта, то автоматизация определяет приложение, которое необходимо запустить, и активируемый объект, основываясь на указанном имени файла. If you don’t specify the object’s class, automation determines the application to start and the object to activate, based on the file name you provide. Некоторые файлы, однако, могут поддерживать более одного класса объекта. Some files, however, may support more than one class of object. Например, рисунок может поддерживать три различных типа объектов: объект Application, объект Drawing и объект Toolbar, каждый из которых является частью одного и того же файла. For example, a drawing might support three different types of objects: an Application object, a Drawing object, and a Toolbar object, all of which are part of the same file. Чтобы указать, какой объект в файле требуется активировать, используйте необязательный аргумент класс. To specify which object in a file you want to activate, use the optional class argument. Например: For example:

В этом примере FIGMENT — это имя приложения для рисования и DRAWING один из типов объектов, которые он поддерживает. In the example, FIGMENT is the name of a drawing application and DRAWING is one of the object types it supports. После активации объекта вы ссылаетесь на него в коде, используя определенную объектную переменную. After an object is activated, you reference it in code by using the object variable you defined. В предыдущем примере доступ к свойствам и методам нового объекта осуществляется с помощью объектной переменной myObject. In the preceding example, you access properties and methods of the new object by using the object variable MyObject. Например: For example:

Используйте функцию GetObject, когда имеется текущий экземпляр объекта или требуется создать объект с помощью уже загруженного файла. Use the GetObject function when there is a current instance of the object or if you want to create the object with a file already loaded. Если текущего экземпляра нет и вы не хотите, чтобы объект начинался с загруженного файла, используйте функцию CreateObject . If there is no current instance, and you don’t want the object started with a file loaded, use the CreateObject 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. При использовании объекта с одним экземпляром **** GetObject всегда возвращает тот же экземпляр при вызове с использованием строки нулевой длины («») и вызывает ошибку, если аргумент PathName опущен. With a single-instance object, GetObject always returns the same instance when called with the zero-length string («») syntax, and it causes an error if the pathname argument is omitted. Невозможно использовать GetObject для получения ссылки на класс, созданный с помощью Visual Basic. You can’t use GetObject to obtain a reference to a class created with Visual Basic.

Пример Example

В этом примере используется функция GetObject для получения ссылки на определенную таблицу Microsoft Excel ( MyXL ). This example uses the GetObject function to get a reference to a specific Microsoft Excel worksheet ( MyXL ). Она использует свойство Application листа, чтобы сделать видимым Microsoft Excel, закрыть его и т. п. It uses the worksheet’s Application property to make Microsoft Excel visible, to close it, and so on.

При использовании двух вызовов DetectExcel **** API подпрограмма выполняет поиск в Microsoft Excel и, если она запущена, вводит ее в таблицу работающий объект. Using two API calls, the DetectExcel Sub procedure looks for Microsoft Excel, and if it is running, enters it in the Running Object Table.

Первый вызов функции GetObject приводит к возникновению ошибки, если Microsoft Excel не выполняется. The first call to GetObject causes an error if Microsoft Excel isn’t already running. В этом примере ошибка приводит к тому, ExcelWasNotRunning что флагу присвоено значение true. In the example, the error causes the ExcelWasNotRunning flag to be set to True.

Второй вызов GetObject задает открытие файла. The second call to GetObject specifies a file to open. Если Microsoft Excel еще не выполняется, второй вызов запускает его и возвращает ссылку на лист, представленный указанным файлом, mytest.xls. If Microsoft Excel isn’t already running, the second call starts it and returns a reference to the worksheet represented by the specified file, mytest.xls. Файл должен находиться в указанном расположении; в противном случае возникает ошибка Automation error Visual Basic. The file must exist in the specified location; otherwise, the Visual Basic error Automation error is generated.

Затем в примере кода отображаются как Microsoft Excel, так и окно с указанным листом. Next, the example code makes both Microsoft Excel and the window containing the specified worksheet visible. Наконец, если не выполняется предыдущая версия Microsoft Excel, в коде используется метод Quit объекта Application для закрытия Microsoft Excel. Finally, if there was no previous version of Microsoft Excel running, the code uses the Application object’s Quit method to close Microsoft Excel. Если приложение уже выполнялось, попытка закрыть его не предпринимается. If the application was already running, no attempt is made to close it. Ссылка будет выделена, если установить для нее значение Nothing. The reference itself is released by setting it to Nothing.

См. также 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.

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

как сделать «включать» объект 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, какой фильтр печатает.

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

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

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

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

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

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

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

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

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

Илон Маск рекомендует:  scaleX() в CSS
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL