Vbs сообщение на экране

Обновлено: 07.07.2024

Как создавать диалоговые окна с помощью VBScript? Всем привет, в этом уроке я вам покажу, как быстро создавать диалоговые окна в Windows, с помощью которых мы так часто подшучиваем над своими коллегами. Я представлю небольшой обзор команд с пояснениями для того, чтобы вы не просто копировали диалоговые окна с сайта, а смогли сами импровизировать, одновременно обучаясь. Это будет знакомый вам по предыдущим компьютерным приколам скриптовый язык VBScript, и всё, что нам как всегда понадобится, это простой Блокнот, который мы, после заполнения кода, будем сохранять в укромном месте с расширением .vbs.

VBScript — это простой язык программирования, исполняемый в системе сценарием Windows Script Host. Легко кодируется в Блокноте, а лучше в специальных текстовых редакторах с расширенными возможностями, как например, AkelPad или Notepad ++ (они, в отличие от встроенного Блокнота, понимают русскую кодировку; выберите Кириллицу — Windows-1251). Именно эта связка сценария и скрипта используется Windows для того, чтобы создавать диалоговые окна . Это гораздо проще, чем использовать такие языки как С и С ++. Однако подробное знакомство с VBScript задачей настоящей статьи не ставилось; здесь я лишь приведу ряд конкретных примеров того как создавать диалоговые окна с более-менее осмысленным для читающего содержанием и вариантами развития событий по результатам действий.

Как создавать диалоговые окна с ошибкой?

Диалоговые окна VBS: множество постоянных и переменных.

диалоговое окно vbs

Просто повторите скрипт так:

Кстати, появление окна можно запустить по кругу, указав в скрипте команду на запуск его же по нажатию на любую из кнопок:

где скрипт.vbs и есть тот самый скрипт, лежащий, скажем, на Рабочем столе (C:\Users\1\Desktop\). При этом избавиться от окна можно будет только через Диспетчер задач. Скрипт может также содержать и какую-то другую одну или несколько команд. Например, пара вводимых переменных не просто создаст интерактивный диалог, но запустит программу. Например, браузер. Ну, или не запустит:

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

Первый из этих чудесных операторов — MsgBox

Данный оператор производит вывод информации как текстовой, так и числовой.

Самая наипростейшая конструкция это простой вывод.

MsgBox

Но данная конструкция является минимальной и её можно усложнить.

База следующей конструкции такая: MsgBox (Текст, Кнопки, ЗаголовокОкна)

На этом примере так же хотел бы заострить внимание на первой, текстовой, части аргументов MsgBox. Если необходимо вывести одновременно несколько переменных, текстовой информации вместе с чем-либо, используется знак &, так называемый знак Конкатенации. В случае, если вы укажете + то в лучшем случае вы получите не тот результат, например если вы захотите вывести A и B, а он вам выведет их сумму. В худшем, выдаст ошибку, если вы попытаетесь сложить текст с чем-нибудь.

Теперь, давайте разберёмся, какие могут быть аргументы, указывающие, какие кнопки показывать у окна.

MsgBox Window

В результате, как нам и нужно, мы получим следующее окно:

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

MsgBox Data

Ниже привожу список значений реакции на нажатие определённых кнопок:

Так же, вместо числовых значений можно использовать приведённые выше константы:

MsgBox Const

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

MsgBox Текст, Кнопки, Заголовок, СсылкаНаСправочныйФайл, НомерРазделаВСправке

Теперь давайте перейдём к не менее важному InputBox

Для ввода данных используется InputBox.

Минимальная конструкция следующая:

InputBox minimal

В данном примере текст вводится в поле, а потом происходит его вывод на экран.

Полная конструкция InputBox следующая: InputBox(Текст, Заголовок, ТекстВПоле, xpos, ypos, helpfile, context)

Последние два аргумента как и в MsgBox, а с остальными разберёмся. Пример:

InputBox example

И ниже сразу приведу результаты:

InputBox Windows

Как мы видим, слева ввод переменной А (4 строчка кода), а справа ввод переменной B (5 строчка кода).

Так же можно указать xpos и ypos (в коде строчка 6). Эти величины указывают расстояние от левого края экрана до окна(xpos) и расстояние от верхнего края экрана до окна(ypos).

Не забываем все аргументы InputBox брать в скобки, как показано в примере.

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Синтаксис

Синтаксис функции MsgBox включает следующие именованные аргументы:

Параметры

Аргумент кнопки может принимать следующие значения:

Приведенные здесь константы определены в Visual Basic для приложений, что позволяет заменять ими числовые значения в любом месте программы.

Возвращаемые значения

Константа Значение Описание
vbOK 1 OK
vbCancel 2 Отмена
vbAbort 3 Прервать
vbRetry 4 Повторить
vbIgnore 5 Пропустить
vbYes 6 Да
vbNo 7 Нет

Примечания

Если одновременно указаны аргументы файл_справки и контекст, пользователь может нажать клавишу F1 (Windows) или HELP (Macintosh) для просмотра раздела справки, соответствующего аргументу контекст. Некоторые ведущие приложения, например Microsoft Excel, автоматически добавляют кнопку Справка в диалоговое окно.

Если в диалоговом окне есть кнопка Отмена, ее нажатие равносильно нажатию клавиши ESC. Если в диалоговом окне есть кнопка Справка, для него доступна контекстная справка. Однако до нажатия какой-либо другой кнопки никакое значение не возвращается.

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

Пример

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Что обычно посылается:

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

Наиболее рекомендуемый способ - функция MsgBox , больше всего возможностей. Всплывающее окно будет выведено, даже если в CScript был указан параметр // b ( batch mode ).

MsgBox " Test "

Еще один вариант - воспользоваться методом Popup объекта WScript . Shell :

set oShell = WScript.CreateObject (“WScript.Shell”)

oShell . Popup “ Test ”, 3

Возможностей у MsgBox достаточно много:

o можно отображать разное кол-во кнопок (OK, Cancel, Abort, Retry, Ignore, Yes, No),

o можно показывать символы Critical, Warning, Question, Information,

o можно выбирать кнопку по умолчанию,

o можно делать окно модальным или обычным.

В зависимости от того, на какую пользователь кнопку нажал, такое значение возвращается скрипту (всего 7 вариантов). Можно также подвязывать справку, которая откроется по F 1. Подробнее - VBScript help , MsgBox -> Function .

Пример возврата значения от MsgBox :

Dim MyVar

Если значение MyVar = 1, то пользователь нажал OK , если 2, то Cancel .

При использовании объекта WScript . Shell если пользователь не нажал ни на какую кнопку, то в этом случае переменной присваивается значение -1.

Если просто кнопками не обойтись, то в этом случае удобнее всего использовать функцию InputBox . Все очень просто:

Читайте также: