vbs скрипты для чайников

Учебник VBScript

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

Скачать бесплатно книгу VBScript для чайников с исходными кодами можно ЗДЕСЬ
Не могу скачать :о(

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

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

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

Источник

Урок 1 по VBScript: Синтаксис vbs сценариев

В этом начальном уроке, мы изучим синтаксис vbscript языка. Синтаксис языка vbscript является таким же как и в языке Visual Basic и фактически, является подмножеством данного языка программирования. Основной упор в использовании vbscript – это возможность написания сценариев (расширение vbs) с открытым кодом для платформы Windows. Пользователю не нужно прибегать к установке дополнительного программного обеспечения, так как все сценарии выполняются под управлением сервера сценариев Windows Script Host.

vbs скрипты для чайников

И так, давайте рассмотрим базовый синтаксис vbscipt и его возможности.

Можно прописать несколько операторов в одну строчку, для этого используется знак двоеточия (:). Сам язык нечувствителен к регистру символов.

Хорошо, давайте рассмотрим синтаксис языка vbscript на таком примере:

Видим, что тут, мы вначале прописали комментарии, далее объявили три переменные. Как видим, язык vbscript не требует назначения типа данных (более детально, работу с типами данных я рассмотрел в статье – «Урок 3 по VBScript: Типы данных»). В конце, для вывода данных мы использовали функцию MsgBox, в данном случае она прописана в упрощенном варианте. Давайте рассмотрим ее полный синтаксис:

MsgBox(prompt[, buttons] [, title ][, helpfile, context ] ) – видим, что тут, функции передаются пять параметров, последние два мы рассматривать не будет, так как они не являются актуальными и практически не применяются.

Работу с данной функцией я более детально рассмотрел в статье «Создание диалоговых окон».

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

Sub MyProcedure(Param1, Param2)
Строки кода
End Sub

Если процедура не имеет параметров, то в скобках после имени ничего ука­зывать не нужно:

Sub MyProcedure()

End Sub

Function MyFunction(Param1, Param2) … End Function

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

Function MyFunction(Param1, Param2)
Dim Sum
Sum = Paraml+Param2
MyFunction = Sum
End Function

Если возвращаемое функцией значение не нужно присваивать никакой пе­ременной, то функция вызывается так же, как и процедура — пишется имя этой функции и через пробел указывается список ее аргументов: MyFunction 3,5

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

Вот простой пример синтаксиса vbscript для использования собственных процедур и функций:

Помимо процедур и функций, можно создавать собственные массивы (Урок 9 по VBScript: Массивы) и классы (Урок 8 по VBScript: Объекты и классы)

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

Смотрим на третий пример:

Спасибо за внимание. Автор блога Владимир Баталий

Источник

Пишем программы (скрипты) в Блокноте Windows

vbs скрипты для чайниковС этой статьей вы не научитесь программировать и даже не напишите как таковую программу, но найдете здесь отличные VBS скрипты и BAT файлы, которые без проблем напишете в обычном блокноте Windows, сможете усовершенствовать по своему, потом похвастаться перед друзьями и близкими. Возможно это поднимет вам настроение и вы отлично проведете время.

vbs скрипты для чайников

Приступим

Научим компьютер здороваться

Set sapi=CreateObject(«sapi.spvoice»)
sapi.Speak «Hello!»

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

Все просто, программу (скрипт) добавить в автозагрузку можно таким же образом, то есть через такой же VBS скрипт. Создаем файл в блокноте, копируем/вставляем (Ctrl+C/Ctrl+V) следующий код:

Dim vOrg, objArgs, root, key, WshShell
root = «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\»
KeyHP = «Program»
Set WshShell = WScript.CreateObject(«WScript.Shell»)
WshShell.RegWrite root+keyHP,»C:\Privet.vbs /autorun»

Открыть дисковод

Set a = CreateObject(«WMPlayer.OCX.7»)
Set b = a.CdromCollection
Set c = b.Item(0)
Set d = c.Eject

Есть более интересная модификация данного скрипта:

Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop

В данном случае будет все время открываться-закрываться CD/DVD-привод, на ноутбуках в этом случае будет открываться после каждого его закрытия.

Внимание! Второй код (открытие-закрытие дисковода), некоторые антивирусы видят как вредоносную программу. Антивирус Касперского (в т.ч. и Kaspersky Free) его видит именно так и уничтожает сразу же. В первом же случае (просто открытие дисковода) для антивирусных программ не является вредоносным скриптом.

Чтобы прекратить автоматически открывать-закрывать дисковод необходимо:

Игра

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

Ну и перед тем как переходить к батникам (.BAT) воспользуемся самым полезным VBS скриптом из всех перечисленных в этой статье.

Скрипт закрывающий wscript.exe

Set TaskKill = CreateObject(«WScript.Shell»)
TaskKill.Run «TaskKill /f /im wscript.exe»

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

Завершение работы /Перезагрузка компьютера

Совсем простой батник состоящий всего из одной строки.

Есть такой вариант кода:

Удаление обновлений

@echo
echo
echo Step 1: Delete Updates Telemetry
wusa /uninstall /kb:3068708 /quiet /norestart
wusa /uninstall /kb:3022345 /quiet /norestart
wusa /uninstall /kb:3075249 /quiet /norestart
wusa /uninstall /kb:3080149 /quiet /norestart

Таким образом можно удалить абсолютно любое обновление, даже назойливое KB971033 которое проверяет копию Windows 7 на подлинность.

172 thoughts on “ Пишем программы (скрипты) в Блокноте Windows ”

Пробую проделать с дисководом, не работает на Windows 8.
Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408

Увы, насчет windows 8 не знаю…проверено на «семерке» все замечательно работает.

Windows 7 Проффесиональная пишет: Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408

Попробуйте заного нормально написать, возможно допустили ошибку где-то, с данной ошибкой встречаются очень часто

ОН НЕ ВИДИТ РУССКИЙ ЯЗЫК ТАМ ТУПО КАКОЙ ТО СТРАННЫЙ ШРИФТ

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

Во время сохранения выбери кодировка: ANSI

я также написал не работает

Через Notepad++ преобразовать в UTF-8 без BOM и сохранить.
Ну и про кавычки не забывайте, елочки не подойдут, нужны лапти

РАБОТАЕТ НА ВИНДЕ10

Нужно вот такие ковычки («»)

не такие там написано такие » «

тем временем в долбаной записи говорится вот такие «»

Set y = CreateObject(«Scripting.FileSystemObject»)
Set y = Nothing
Do
a = 0
u = 0
Randomize
Number = Int((RND*99)+1)
MsgBox «I ZADAL CHSLO OT 1 DO 100, POPROBUE OTGADAT»,64,»YGADAIKA»
Do
a = a + 1
c = InputBox(«YGADAI CHCLO» & vbCrLf & vbCrLf & «Попытка: » & a & vbCrLf & vbCrLf & «CHTOBA POCMOTRET REZULTAT VEDI CHECLO!» & vbCrLf & vbCrLf & «DLI VAXODA OCTAVTE POLE PYCTAM» & vbCrLf & vbCrLf,»YGADAIKA»)
If c = «!» Then CreateObject(«WScript.Shell»).Run «notepad C:\Windows\Result.dll»,3,True : Exit Do
If c «» Then
If IsNumeric(c) = True Then
If CInt(c) Number Then MsgBox «NET, ETO NE » & c & «. I ZAGODAL CHICLO MENSHE»,64,»YGADAIKA»
If CInt(c) = Number Then
Set y = CreateObject(«Scripting.FileSystemObject»)
MsgBox («Количество попыток: » & a)
If MsgBox («PRAWELNO, ETO BLO CHECLO » & c & «. NACHAT ZANOVO?»,36,»YGADAIKA») = 6 Then Exit Do Else WScript.Quit
End If
Else
MsgBox «ETO CHECLO!»,16,»YDAIKA»
a = a — 1
End If
Else
a = a — 1
l = MsgBox («TA NECHGO NE VEL. VAITI IZ PROGRAMA?»,36,»YGADAIKA»)
If l = 6 Then WScript.Quit
End If
Loop
loop

У меня Windows 7 Проффесиональная и всё работает хорошо только дисковод открывается на несколь ко секунд

Я тоже на Windows xp открыл, выбило ошибку.

ты вместо елочек пиши скобки

И десятка с любым вбс такое выдаёт.

у меня тоже русский не работает. На англ все фразы переведи

разыграл друга что типа через 10 сек выходит сообщение что комп заблокирован

На Windows 10 все тоже отлично работает. Жду еще более крутых скриптов! 😉

Давайте сотрудничать! Я тоже вирусы делаю

Это уголовно наказуемо, не помню какая статья но потом загуглю, и да, это не вирусы а так называемые приколы, а ПРИКОЛЫ и ВИРУСЫ отлечаются, вот наример какие ты вирусы делаешь а? ой да не дери ты мозги что ты делаешь «Вирусы», я тоже могу сделать «вирус» просто бл*ть найти в интернете и всё, делает он их ага.

лол, это тупая игрушка на бат, я также с легкостью могу сказать что я хакер, сделав за минуту батник, который копирует себя в автозагрузку и включает компьютер, только твоей игрушкой никому не навредить, а я одноклассников на бабло разводил, на настоящее, тупо подхожу с флешкой, говорю «на, тут все серии наруто, запусти файл.bat и наслаждайся. Через 5 минут звонит растерянный ламер и бормочет что у него комп вырубился и не включается. Я прихожу. за сотку включаю с винды безопасный режим, через кмд делитаю файл из автозагрузки, халявная сотка, здравствуй

мда вы решили создавать вирусятины…

эй давай вместе создавать вирус у меня один есть если хочеш связатся то мой вк flapi flapik

ЭЙ! у меня касперский ругается на privet.txt!

Кавычки нужно проверить, может вы копируете и вставляете с елочками «_», а в коде нужны лапки ”_“

На Windows 8 надо использовать кавычки вот такие «»

Надо вместо ЁЛОЧКИ писать и всё КЛАСНО

Согласен, еще ошибка : недопустимый знак

Просто этот чудик сделал не верно.Он сказал комп не читает кавычки в виде »
а сам их и напихал,замените все кавычки » на ковычки «» и все просто таже проблема была

кавійки надо поставить «такие» а не такие как написано там

А ты пробовал заменить <> на «кавычки обычные»?

там все >>заменить на «

У меня выдает ошибку но работает

а дисковод есть то на пк, или декоративная заглушка стоит?

Не благодарите, пожалуй.
P.S. (Не делайте такое на своём компьютере, убьёте его).

Ты в курсе, что просто чистишь рабочий стол этим скриптом?

-ТВОЙ КОМП: ЖОПА ГОРИТ

В Windows 8, 10 Windows media player есть.

Интересная штучка. Лично у меня скрипт тоже выдает ошибку, но при том дисковод открывается

не знаю, у меня на 8 работает ВСЕ без каких либо ошибок

у меня 8.1, работает

а на виндовс 10 работает!

Там написано какая строка?

Знаешь у меня тоже такое но дисковод вылезает на семёрке на 8 тоже должно.

Прошу прощения,на второй комментарий можно не отвечать,я поняла

=) Ну в принципе вы установили голосовой движок (русский) и этого достаточно, а балаболка — хорошая штука, я например ее настроил более мене прилично и она мне читает книги))

Это Вам спасибо, рад, что смог как-то помочь, заходите почаще!

вот шутка про дисковод..при запуске от говорит об ошибке.мол депустимый знак в 1 строке 29 символ

Проверьте может опечатка где в тексте, а система у вас какая?

По моему надо заменить этот символ: одну кавычку («) на другую («)

? короче на такую, ту почему-то не пишет (где буква Э, на английском, с shift-ом (»))

а у меня семёрка и всё ровно пишет при открытии любых vbs выскакивает Ошибка компиляции Microsoft VBScript, Недопустимый знак, код 800А0408

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

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

да,именно это я и имел ввиду.
Сможете это сделать?

Люди что делать. Я скачал архив и разархивировал. Начинаю открывать Vbs файл и ничего не происходит.(антивирус выключен, windows 7 максимальная)

Set WMPlayer = CreateObject(«WMPlayer.OCX.7?)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop

А какая ошибка выходит?

Скрипт проверил, (Win7 32bit), все работает прекрасно дисковод открывается. У вас система какая? просто на Windows XP бывают ошибки.

У меня windows 7 /32 bit
При использовании скрипта про открытие/закрытие дисковода вылазит вот такая ошибка:

Сценарий: D:\1.vbs
Строка 1
Символ 29
Ошибка: Недопустимый знак
Код 800A0408
Источник: Ошибка компиляции Microsoft VBScript

Такс…насчет «справочника», пока не знаю, возможно в скором времени подготовлю, но кончено не полный, а то все bat команды собрать…можно сума сойти =) так самые интересные может и соберем. А насчет данного скрипта, попробуйте вот скачать — http://ocompah.ru/123.rar и так попробуйте запустить после разархивации.

Ваш сохраненный скрипт работает!, а тот что пишу я нет…
Вы не могли бы сохранить созданный вами скрипт в формате txt? чтоб я посмотрел в чем моя ошибка?

Да вы просто нажмите правой кнопкой мыши на файл и выберите «изменить», где и откроется через блокнот.

все,разобрался со скриптом,большое вам спасибо!

Постараюсь как можно скорее написать, но увы, сейчас пока нет времени.

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

На Windows XP ошибки быть не может если правильно ввести

Проблема с как научим компьютер «разговаривать» выдает 800а0408 ошибка компиляции что я не так делаю подскажите плиз

Скорее всего синтаксическая ошибка, попробуйте проверить нет ли лишних пробелов, кавычки попробуйте не копировать а в ручную писать, если что отпишитесь.

Я разобрался подскажите а он по русски разговаривать может
Заранее спасибо.

Конечно может если установлен голосовой движок.

Отличная статейка. Увлекла 😉

На windows vista что то не получается.

Что, тоже ошибка компиляции выходит?

Как продвигается составление «справочника»? очень жду.
Заранее спасибо за ответ.
Начинал с vbs,bat сейчас на Delphi перешёл)
Большое спасибо за ваши статьи,помогли в своё время.

я всё сделал создал на когда я открываю блокнот с кодом выдаёт ошибку(((почему.

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

как установить голосовой движок

Скачать и просто установить как и другие программы

сообщите мне адрес справочника по батникам очень хочу то что я писал неработало а скачал и заработало!! класс из етим дисководом получилось у брата на ноуте запущу)))))

Здесь на форуме ковычки другие! В любом коде, заместо » пишем, стандартные «

А можете ссылку дать на скачивания»Алёны»
а то нормальную не могу найти

Вот вам торрент ссылка на голосовой движок «Алена» — скачать

у меня виндовс 8 и у меня не че не получается то ест … все коды папробывал

Я на 8 пробовал только дисковод.
Кавычки обычные.
Set WMPlayer = CreateObject(«WMPlayer.OCX.7»)
do
WMPlayer.CdRomCollection.Item(0).Eject()
loop
Попробуй так

Странно он в комментах при вставке сам делает другие кавычки.
В общем на 8 такие ( » ) и такая же закрыть.

И опять он их изменил.ППц просто. На 8 две запятых вверху — это начало и две вверху- конец

а от куда я знаю вдруг файл завирусован

Вас никто не заставляет, ваше право, вы беспокоитесь за свою безопасность, здесь нет ничего такого.

А как сделать батнике много открываний?

В итоге как решили вопрос с ошибкой компиляции, у меня также выдает ошибку
800а0408 ошибка компиляции

А вы вконтакте есть? Дайте ссылку пожалуйста

У меня вопроспо поводу сайта. Как только я открываю 1 часть данной статьи меня перекидывает сюда.

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

Все сделал как надо.Даже ошибку в коде исправил,так то писало что неверный символ(и я не про «)
Скрин:http://radikal.ru/lfp/s017.radikal.ru/i435/1608/70/8b3232295094.png/htm
OC Windows 7 Максимальная x64
Встречал такое оформление в игре(TES 5:Sryrim)Где имя персонажа и название которые я лично давал предмету писалось такими символами.Не знаю как это связано.
Чем поможете?

винда 8.1 все супер работает

юху я все сделал на обычном блокноте просто исправил некоторые ошибки

здравствуйте.Я заменил все ёлочки на лапки,а при открытие файла выдаёт ошибку

Что то не получается в 1-ом пишет строка 1 символ 1

Для работы этого скрипта нужно заменить ёлочки на лапти, а также тире на минус (a = a — 1).

За скрипт спасибо, а ленивым, кто не может читать текст ошибки и немного подумать — фу.

Я заменил всё ёлочки на лапти

У вас криво написано «Угадайка» (скрипт)
Знаки не те и всё время выдаёт ошибки!
Я уже закалибался исправлять их.

Вот рабочий «Угадайка». На Windows XP проверил.

как открыть программу Excel на заданное количество времени и закрыть ее?

Написал скрипт на приветствие » Привет пончик» у подруги, и она пошла худеть )))

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

Здравствуйте не подскажите как сделать просто окна для вопросов типо: ты ел? ответы : да или нет и и при нажатие ответа выскакивал другой вопрос и те же ответы )

угадайка на «восьмерке» не работает.. все варианты перепробовал из тех что советовали

Здравствуйте.
Игра «Угадайка» не запускается. Выдаёт ошибку. Что делать?

Заного в угадайке!Как исправить?

Фуфло это «всё», прокисшее!…

У Меня получилось я кинул своим друзьям угадайку и там есть установка и я снял её на ютуб

Для кручения вертушки зажмите любую клавишу

Отредактируйтн пробелами ↑↑↑ звездочки, чтобы получились «плюсик» сверху и «крестик» ниже

Вот вам вирус
@echo off
CLS
:A
start calc.exe
start nitepad.exe
start Archiver.bat
goto A
Сохранить как Archiver.bat (ТАКЖЕ С БЛОЬШОЙ БУКВЫ ИЛИ СКРИПТ НЕ СРАБОТАЕТ ПОЛНОСТЬЮ. )
Для более жесткого эффекта добавьте в код прописку в автозагрузку
Описание:
Это вирус спаммер который бесконечно открывает блокнот, калькулятор и СЕБЯ, чтобы удалением нельщя было остановить процесс открывания

попробовал написал «привет чувак» — всё получилось

Незаметно кому-то подкинуть «выключку» и поставить на автозапуск.

Запустил… пишет строка 1 ошибка: нету слова «sai» Что это значит? (нету слова — это я сказал по другому но смысл один!)

Слишком сложно и не понятно.

Здравствуйте.
Можно ли создать скрипт для вызова из контекстного меню в любой папке, чтобы в этой папке менялся тип группировки и сортировки файлов на заранее заданный? Если да — то как? Спасибо.

как можно писать программи без знания англиского языка

Вин 8.1. Приветствие и автозагрузка сохраненные через notepad++ работают без проблем. Через автозагрузку можно запускать другие программы. Удаление скриптов при сохранение через блокнот выдало ошибку, через notepad++ ошибку не выдает. Остальное не пробывал.

почему у меня не работает ни один код?

ребята помогите пожалуйста, как сделать что бы команда «C:\WINDOWS\system32>netsh wlan start hostednetwork» автоматически запускалась при старте компьютера от имени администратора (windows 10)

Может быть коряво, но работает. Добавил ограничение по количеству попыток, так интересней

Set y = CreateObject(«Scripting.FileSystemObject»)

If x = 1 or x = 2 or x = 3 Then x = 4

MsgBox «Я загадал число от 1 до 100, попробуй отгадать его.» & vbCrLf & «Попытки ограниченны!» & vbCrLf & «Количество попыток: «& x & vbCrLf,64,»Guess Random Number»

k = InputBox(«Угадай число. » & «Попытка: » & a & » из » & x & vbCrLf & vbCrLf & «Чтобы посмотреть результаты введите число!» & vbCrLf & vbCrLf & «Для выхода нажмите Отмена или оставьте поле пустым» & vbCrLf & vbCrLf,»Guess Random Number»)

If k = «число» Then MsgBox «Хитрый какой! Ладно, я загадал число » & Number & «… Просто напиши его и давай уже закончим со всем этим…»,48,»Подсказка!»

If IsNumeric(k) = True Then

MsgBox «Число должно быть в диапозоне от 0 до 100.»,48,»Guess Random Number»

крч смотрите… как быть если комп не знает с помощью какой программы производить — Set sapi=CreateObject(«sapi.spvoice»)
sapi.Speak «Hello!»

Кто в макросах хорошо шарит??

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

Источник

Справочное руководство по VBScript

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

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

MsgBox(сообщение, число, заголовок)
MsgBox сообщение, число, заголовок

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

x = MsgBox(«Добро пожаловать!», 20, «Приветствие»)

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

Значения числового параметра, определяющего набор кнопок на панели, приведены ниже:

Значения числового параметра, определяющего картинку, приведены ниже:

Следующие две константы определяют режим работы диалогового окна:

Чтобы использовать одновременно несколько установок, необходимо просто сложить соответствующие значения числового параметра. Например, если требуется вывести картинку с вопросом и две кнопки Yes и No, то следует задать параметр 4 + 32 = 36.
Ниже показаны возвращаемые значения, которые присваиваются переменной intButtonClicked:

Если требуется, чтобы сообщение выводилось в нескольких строках, то следует использовать функцию Chr(13), возвращающую служебный символ перевода каретки в качестве разделителя строк. Например,
MsgBox «Привет!» + Chr(13) + «Для продолжения щелкните на кнопке OK»

Выводит диалоговое окно с полем ввода данных и двумя кнопками ОК и Cancel (Отмена). Возвращает текст в поле ввода данных, если был щелчок на кнопке OK, или значение Empty, если был щелчок на кнопке Cancel. Возможны две формы вызова:
InputBox(подсказка, заголовок, исходное_значение, x, y)
InputBox подсказка, заголовок, исходное_значение, x, y

Синтаксис с круглыми скобками для записи вызова функции MsgBox используется, чтобы присвоить возвращаемое значение произвольной переменной:
x = InputBox(«Введите пароль»,»Вход в систему»,», 1000,2000)

Подсказка представляет собой текст, выводимый внутри диалогового окна, исходный_текст — содержимое поля ввода при открытии окна, x и y — необязательные соответственно горизонтальная и вертикальная координаты относительно левого верхнего угла экрана монитора, измеряемые в твипах (1твип = 1/1440 дюйма). На рис. 13.2 показан пример диалогового окна.

2. Типы данных

Типы данных в VBScriptt

Для преобразования данных из одного типа в другой служат специальные функции. Так например, числа можно хранить как данные одного из 6 типов. Однако не все эти типы равноценны с точки зрения точности представления чисел и занимаемого места в памяти. Если вы хотите преобразовать число 3.14 в целое, то тип Byte окажется более экономным, чем Integer. Для приведения числового значения переменной x к типу Integer используется функция Cint(x), а для приведения к типу Byte — функция CByte(x).
Примеры:

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

Значение Empty имеет объявленная переменная, которой еще не присвоено значение. Это значение ведет себя как 0 в операциях над числами и как пустая строка — в операциях над строками. Значение Empty нельзя присвоить с помощью оператора присваивания, оно назначается автоматически при создании переменной без присваивания ей начального значения.
Значение Null означает отсутствие допустимого значения. Переменная может получить его в результате некоторых операций над ней, в том числе и путем непосредственного присваивания ей этого значения. В отличие от Empty, значение Null можно присвоить переменной с помощью оператора присваивания.

В VBScript, в отличие от JavaScript, строковые значения заключаются только в двойные кавычки. Одинарные кавычки для этой цели не допускаются.

3. Переменные и операторы присваивания

Переменная, объявленная с помощью оператора Dim, имеет значение Empty. Одним оператором Dim можно объявить несколько переменных, например,
Dim x, y, myvar

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

Чтобы присвоить переменной значение, используют следующие выражения:
имя_переменной = значение
Let имя_переменной = значение
Set имя_переменной = значение

Оператор Let не является обязательным для присваивания значения переменной. Оператор Set используется для присваивания переменной ссылки на объект, в том числе и при создании нового объекта с помощью специальной функции CreateObject().

Вместо оператора Dim можно использовать операторы Private и Public для объявления соответственно локальных (частных) и глобальных переменных.

4. Массивы

Здесь n — количество элементов массива минус 1. Индексация элементов массива начинается с 0. Таким образом, число n в определении массива — индекс последнего элемента.
Многомерный статический массив задается аналогичным образом, но в круглых скобках через запятую указываются количества элементов минус 1 по каждому измерению. Например, следующий оператор задает двумерный массив из 8 строк и 3-х столбцов:
Dim myarray(7, 2)

Для получения значения элемента массива используется выражение вида:
имя_массива(индексы)

Например, для получения значения элемента двумерного массива myarray, находящегося в 3-й строке и 2-м столбце, можно воспользоваться таким выражением: myarray(2, 1).
В уже заданном статическом массиве нельзя изменить количество элементов и размерностей. В динамическом массиве, напротив, это можно делать сколько угодно раз. Динамический массив задается аналогично статическому, но в круглых скобках ничего не указывается:
Dim имя_массива()

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

Здесь n — количество элементов массива минус 1.

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

Для сохранения значений динамического массива при изменении его длины используется ключевое слов Preserve (предохранить):
Redim Preserve имя_массива(n)

При работе с массивами, особенно динамическими, часто требуется знать их длину. Для этой цели служат две функции:
Lbound — возвращает наименьший индекс для данного массива
Ubound — возвращает наибольший индекс массива. Количество элементов всегда на 1 больше этого значения

В следующем примере длина существующего массива myarray увеличивается на 1 с сохранением всех его уже имеющихся значений:
Redim Preserve myarray(Ubound(myarray) + 1) /

5. Константы

Имя константы задается так же, как и имя переменной.
В VBScript имеется большое количество предопределенных констант, некоторые из них приведены ниже.

Константы системных цветов

6. Операторы


6.1. Комментарии

Примечание
В JavaScript для однострочных комментариев используются символы //, а для многострочных — /* … */

6.2. Арифметические операторы


6.3. Операторы сравнения

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

Примечание
В JavaScript для оператора равенства используются два подряд следующих символа=, а для оператора присваивания — одинарный символ =

6.4. Логические операторы

Примечание
В JavaScript нет операторов исключающего ИЛИ, эквивалентности и импликации. Однако нетрудно написать собственные функции, которые будут вычислять соответствующие выражения.

6.5. Строковые операторы


6.6. Операторы условного перехода

If условие Then
выражения
End If

If условие-1 Then
[выражения-1]
[ElseIf условие-2 Then
[выражения-2]] …
[Else
[выражения-n]]
End If

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

Оператор Select Case
Когда требуется вычислить значение выражения и сравнить его со значениями из заданных списков, удобно использовать оператор Select Case:
Select Case тестируемое_выражение
[Case список_значений-1
[выражения-1]]
[Case список_значений-2
[выражения-2]]

[Case список_значений-n
[выражения-n]]
[Case Else
[выражения-n+1]]
End Select

Пример: Примечание
В JavaScript близким по смыслу к Select Case является оператор switch

6.7. Операторы цикла

Оператор For … Next
Оператор цикла со счетчиком циклов имеет следующий синтаксис:
For счетчик=начальное_значение To конечное_значение [Step приращение]
выражения
Next

При выполнении этого оператора сначала переменной счетчик присваивается начальное значение. Если это значение не равно заданному конечному значению, то выполняются выражения, указанные в теле оператора цикла. В противном случае выражения не вычисляются, а управление передается оператору, непосредственно следующему за Next. Затем значение счетчика увеличивается на величину приращения, указанную после ключевого слова Step (если его нет, то на 1). Новое значение счетчика сравнивается с конечным значением и далее все повторяется описанным выше способом.

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

7.Функции

Функции преобразования
Эти функции используются для преобразования значений переменных разных типов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *