<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=VBScript</id>
	<title>VBScript - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=VBScript"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=VBScript&amp;action=history"/>
	<updated>2026-07-16T10:09:09Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=VBScript&amp;diff=36299&amp;oldid=prev</id>
		<title>imported&gt;Alex NB OT: унификация языковых шаблонов</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=VBScript&amp;diff=36299&amp;oldid=prev"/>
		<updated>2025-11-15T11:10:44Z</updated>

		<summary type="html">&lt;p&gt;унификация языковых шаблонов&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Язык программирования}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;VBScript&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;VBS&amp;#039;&amp;#039;&amp;#039;, развернуто &amp;#039;&amp;#039;&amp;#039;Microsoft Visual Basic Script Edition&amp;#039;&amp;#039;&amp;#039;, иногда &amp;#039;&amp;#039;&amp;#039;Visual Basic Script&amp;#039;&amp;#039;&amp;#039;) — [[язык сценариев]], созданный компанией [[Microsoft]] на основе языка [[Visual Basic]], предназначенный для применения в приложениях, использующих технологию [[Active Scripting]].&lt;br /&gt;
&lt;br /&gt;
== Область применения ==&lt;br /&gt;
Сценарии (скрипты) на языке VBScript чаще всего применяются в следующих областях, использующих продукцию Microsoft:&lt;br /&gt;
* в [[Сервер сценариев Windows|сервере сценариев Windows]] (WSH&amp;lt;ref&amp;gt;{{lang-en|Windows Script Host}}&amp;lt;/ref&amp;gt;), предназначенном для автоматизации [[системное администрирование|администрирования]] [[Операционная система|систем]] [[Windows]];&lt;br /&gt;
* [[Сервер (программное обеспечение)|серверный]] программный код в [[веб-страница]]х [[Active Server Pages|ASP]];&lt;br /&gt;
* [[Скрипты в HTML|клиентские скрипты]] в [[браузер]]е [[Microsoft Internet Explorer|Internet Explorer]] и других приложениях, использующих [[MSHTML|его движок]], в частности [[HTML Application]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Такой тип сценариев обычно используется для:&lt;br /&gt;
* создания сложных сценариев;&lt;br /&gt;
* использования объектов из других приложений и библиотек;&lt;br /&gt;
* скрытия окон в ходе выполнения сценария;&lt;br /&gt;
* шифрования логики сценария.&lt;br /&gt;
&lt;br /&gt;
В основном VBS-сценарии применяются для обработки данных, управления системой, работы с учётными записями пользователей и компьютеров, взаимодействия с офисными приложениями, работы с базами данных и прочих сложных задач.&lt;br /&gt;
--&amp;gt;&amp;lt;!-- Строго говоря, это о WSH, а не о VBS, как о языке программирования. Надо посмотреть статью о WSH и, что необходимо, перенести в неё. ~~~~ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VBS-сценарии, в зависимости от области применения, могут располагаться в отдельных [[Текстовый файл|текстовых файлах]] (обычно, с [[Расширение имени файла|расширением]] &amp;lt;tt&amp;gt;.vbs&amp;lt;/tt&amp;gt;) или встраиваться в документы на других языках (например, [[HTML]]). Очень часто скрипты используются программами-инсталляторами для преднастройки.&lt;br /&gt;
&lt;br /&gt;
Для работоспособности скриптов в системе должно присутствовать исполняющее ядро («движок»&amp;lt;ref&amp;gt;По своей сути аналогичный [[Движок JavaScript|движкам JavaScript]].&amp;lt;/ref&amp;gt;) языка ([[DLL|библиотека]] &amp;lt;tt&amp;gt;vbscript.dll&amp;lt;/tt&amp;gt;). Также существуют программы (как правило, коммерческие), позволяющие сконвертировать скрипт в вполне работоспособное самостоятельное приложение *.exe.&lt;br /&gt;
&lt;br /&gt;
Нельзя не упомянуть тот факт, что язык VBS издавна широко использовался и продолжает использоваться вирусописателями, для создания хоть и примитивных, но очень эффективных и опасных вредоносных программ (таких как [[ILOVEYOU]]), что сослужило языку плохую славу. Ввиду простоты синтаксиса, написать вирус может даже новичок, причем вирус будет работоспособен во всех версиях Windows (как актуальных, начиная с [[Windows XP]] и заканчивая [[Windows 11]], так и старых, таких как [[Windows 98]], [[Windows Me]] и [[Windows 2000]]). Посему, считается дурным тоном исполнять скрипты VBS на ПЭВМ, ввиду их большой опасности. В 99% из 100 исполняемый скрипт будет являться вредоносной программой.&lt;br /&gt;
&lt;br /&gt;
== Правила языка ==&lt;br /&gt;
В VBScript работают следующие правила:&lt;br /&gt;
* длина строки не ограничена;&lt;br /&gt;
* [[Чувствительность к регистру символов|регистр символов]] не учитывается;&lt;br /&gt;
* количество пробелов между параметрами не учитывается;&lt;br /&gt;
* строку команды можно разрывать, а на месте разрыва нужно вставлять символ «&amp;lt;code&amp;gt;_&amp;lt;/code&amp;gt;»;&lt;br /&gt;
* максимальная длина имени переменной 255 символов;&lt;br /&gt;
* комментарии обозначаются символом «&amp;lt;code&amp;gt;&amp;#039;&amp;lt;/code&amp;gt;».&lt;br /&gt;
* несколько команд можно расположить на одной строке, разделив их символом «&amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt;»&lt;br /&gt;
&lt;br /&gt;
== Переменные ==&lt;br /&gt;
По умолчанию переменные в сценариях объявляются автоматически при первом использовании в теле скрипта, если это не запрещено директивой &amp;lt;code&amp;gt;Option Explicit&amp;lt;/code&amp;gt;. Если же в начале сценария объявить директиву &amp;lt;code&amp;gt;Option Explicit&amp;lt;/code&amp;gt;, то все переменные нужно определять заранее с помощью следующих конструкций:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Dim ValueName1 &amp;#039; переменная, доступная всем подпрограммам;&lt;br /&gt;
Public ValueName2 &amp;#039; переменная, доступная всем подпрограммам;&lt;br /&gt;
Private ValueName3 &amp;#039; переменная, доступная только текущей программе и её подпрограммам;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Константы объявляются в начале сценария с помощью конструкции:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Const ConstName1 = Value1 &amp;#039; константа, доступная всем подпрограммам;&lt;br /&gt;
Public Const ConstName2 = Value2 &amp;#039; константа, доступная всем подпрограммам;&lt;br /&gt;
Private Const ConstName3 = Value3 &amp;#039; константа, доступная только текущей программе и её подпрограммам;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тип переменной присваивается автоматически после внесения в неё первого значения. В Visual Basic существуют следующие типы данных:&lt;br /&gt;
* &amp;lt;tt&amp;gt;empty&amp;lt;/tt&amp;gt; — неинициализированная переменная;&lt;br /&gt;
* &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; — пустая переменная;&lt;br /&gt;
* &amp;lt;tt&amp;gt;boolean&amp;lt;/tt&amp;gt; — логический тип, возможные значения: False, True или 0, 1;&lt;br /&gt;
* &amp;lt;tt&amp;gt;byte&amp;lt;/tt&amp;gt; — 8-битное целое число без знака, возможные значения: 0 .. 255;&lt;br /&gt;
* &amp;lt;tt&amp;gt;integer&amp;lt;/tt&amp;gt; — 16-битное целое число, возможные значения: −32768 .. 32767;&lt;br /&gt;
* &amp;lt;tt&amp;gt;long&amp;lt;/tt&amp;gt; — 32-битное целое число, возможные значения: −2147483648 .. 2147483647;&lt;br /&gt;
* &amp;lt;tt&amp;gt;currency&amp;lt;/tt&amp;gt; — денежный тип, возможные значения: −922337203685477,5808 до 922337203685477,5807;&lt;br /&gt;
* &amp;lt;tt&amp;gt;single&amp;lt;/tt&amp;gt; — число с плавающей точкой, возможные значения: −3.402823e38 .. −1.401298e-45 для отрицательных чисел и 1.401298e-45 .. 3.402823e38 для положительных чисел;&lt;br /&gt;
* &amp;lt;tt&amp;gt;double&amp;lt;/tt&amp;gt; — число с плавающей точкой, возможные значения: −1.79769313486232e308 .. −4.94065645841247e-324 для отрицательных чисел и 4.94065645841247e-324 .. 1.79769313486232e308 для положительных чисел;&lt;br /&gt;
* &amp;lt;tt&amp;gt;date&amp;lt;/tt&amp;gt; — дата, возможные значения: 01.01.1900 .. 31.01.9999;&lt;br /&gt;
* &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; — строковая переменная, вместимость до 2 миллиардов символов;&lt;br /&gt;
* &amp;lt;tt&amp;gt;object&amp;lt;/tt&amp;gt; — указатель на объект;&lt;br /&gt;
* &amp;lt;tt&amp;gt;error&amp;lt;/tt&amp;gt; — код ошибки.&lt;br /&gt;
&lt;br /&gt;
В VBS-сценариях возможно использование массивов переменных, которые позволяют хранить списки, таблицы и даже более сложные конструкции. Одномерные массивы (списки) могут быть динамическими, то есть они позволяют изменять свой размер в ходе работы сценария. Все массивы объявляются командой Dim:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
Dim ArrayName(Dimension)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Объекты, их методы и свойства ==&lt;br /&gt;
VBScript, как и его родитель — язык Visual Basic, является объектно-ориентированным языком программирования, то есть основной концепцией является понятие объектов и классов&lt;br /&gt;
&lt;br /&gt;
Класс — это тип, описывающий устройство объектов. Объект подразумевает под собой нечто, что обладает определённым поведением и способом представления, объект — это экземпляр класса. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области.&lt;br /&gt;
&lt;br /&gt;
Все объекты, с которыми работает VBScript, имеют методы и свойства. Чтобы обратиться к методу, необходимо указать объект, а через точку — метод с необходимыми параметрами.&lt;br /&gt;
&lt;br /&gt;
Аналогичная ситуация со свойствами, но свойства можно как назначать, так и считывать в переменные и другие свойства, правда, следует учитывать тип данных переменных и свойств, иначе сценарий выдаст ошибку несовместимости типов данных.&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
Вот пример небольшой программы на языке VBScript, которая выводит [[диалоговое окно]] с сообщением (символы после знака [[апостроф (знак препинания)|апостроф]] являются [[комментарии (программирование)|комментариями]]):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039; Объявление переменной:&lt;br /&gt;
Dim s&lt;br /&gt;
&amp;#039; Присваивание переменной значения:&lt;br /&gt;
s = &amp;quot;Википедия — свободная энциклопедия&amp;quot;&lt;br /&gt;
&amp;#039; Вывод окна с сообщением:&lt;br /&gt;
MsgBox s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
По эффекту работы она аналогична прямой инструкции&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
MsgBox &amp;quot;Википедия — свободная энциклопедия&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Visual Basic for Applications]]&lt;br /&gt;
* [[Microsoft JScript|JScript]] — альтернативный [[скриптовый язык]], созданный компанией [[Microsoft]] на основе [[ECMAScript]]&lt;br /&gt;
* [[KiXtart]]&lt;br /&gt;
* [[AutoIt]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [https://web.archive.org/web/20080115205534/http://msdn2.microsoft.com/en-us/library/t0aew7h6.aspx VBScript]{{ref|en}} — Руководство по VBScript от Майкрософт.&lt;br /&gt;
* [https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=ProgrammingLanguage&amp;amp;f%5B0%5D.Value=VBS&amp;amp;f%5B0%5D.Text=VB%20Script The Script Center Script Repository]{{ref|en}} — Коллекция скриптов на VBScript от Майкрософт.&lt;br /&gt;
&lt;br /&gt;
{{Компоненты Microsoft Windows}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Internet Explorer]]&lt;br /&gt;
[[Категория:Бейсик]]&lt;br /&gt;
[[Категория:Программное обеспечение только под Windows]]&lt;br /&gt;
[[Категория:Скриптовые языки]]&lt;br /&gt;
[[Категория:Языки веб-программирования]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Alex NB OT</name></author>
	</entry>
</feed>