Vbs сообщение на экране
Обновлено: 07.07.2024
Как создавать диалоговые окна с помощью VBScript? Всем привет, в этом уроке я вам покажу, как быстро создавать диалоговые окна в Windows, с помощью которых мы так часто подшучиваем над своими коллегами. Я представлю небольшой обзор команд с пояснениями для того, чтобы вы не просто копировали диалоговые окна с сайта, а смогли сами импровизировать, одновременно обучаясь. Это будет знакомый вам по предыдущим компьютерным приколам скриптовый язык VBScript, и всё, что нам как всегда понадобится, это простой Блокнот, который мы, после заполнения кода, будем сохранять в укромном месте с расширением .vbs.
VBScript — это простой язык программирования, исполняемый в системе сценарием Windows Script Host. Легко кодируется в Блокноте, а лучше в специальных текстовых редакторах с расширенными возможностями, как например, AkelPad или Notepad ++ (они, в отличие от встроенного Блокнота, понимают русскую кодировку; выберите Кириллицу — Windows-1251). Именно эта связка сценария и скрипта используется Windows для того, чтобы создавать диалоговые окна . Это гораздо проще, чем использовать такие языки как С и С ++. Однако подробное знакомство с VBScript задачей настоящей статьи не ставилось; здесь я лишь приведу ряд конкретных примеров того как создавать диалоговые окна с более-менее осмысленным для читающего содержанием и вариантами развития событий по результатам действий.
Как создавать диалоговые окна с ошибкой?
Диалоговые окна VBS: множество постоянных и переменных.
Просто повторите скрипт так:
Кстати, появление окна можно запустить по кругу, указав в скрипте команду на запуск его же по нажатию на любую из кнопок:
где скрипт.vbs и есть тот самый скрипт, лежащий, скажем, на Рабочем столе (C:\Users\1\Desktop\). При этом избавиться от окна можно будет только через Диспетчер задач. Скрипт может также содержать и какую-то другую одну или несколько команд. Например, пара вводимых переменных не просто создаст интерактивный диалог, но запустит программу. Например, браузер. Ну, или не запустит:
Прежде чем мы приступим к самому интересному — хотел бы написать про два оператора, самых важных. Самых важных потому, что они выводят и вводят информацию в код программы. Делают код наглядным и интерактивным.
Первый из этих чудесных операторов — MsgBox
Данный оператор производит вывод информации как текстовой, так и числовой.
Самая наипростейшая конструкция это простой вывод.
Но данная конструкция является минимальной и её можно усложнить.
База следующей конструкции такая: MsgBox (Текст, Кнопки, ЗаголовокОкна)
На этом примере так же хотел бы заострить внимание на первой, текстовой, части аргументов MsgBox. Если необходимо вывести одновременно несколько переменных, текстовой информации вместе с чем-либо, используется знак &, так называемый знак Конкатенации. В случае, если вы укажете + то в лучшем случае вы получите не тот результат, например если вы захотите вывести A и B, а он вам выведет их сумму. В худшем, выдаст ошибку, если вы попытаетесь сложить текст с чем-нибудь.
Теперь, давайте разберёмся, какие могут быть аргументы, указывающие, какие кнопки показывать у окна.
В результате, как нам и нужно, мы получим следующее окно:
Данное окно так же позволяет не только вывести что либо, но и для взаимодействия с пользователем. Изменим немного данный пример.
Ниже привожу список значений реакции на нажатие определённых кнопок:
Так же, вместо числовых значений можно использовать приведённые выше константы:
Так же MsgBox предусматривает ссылку на справочный файл. Но с этим могут быть проблемы. Например, разные версии Windows. Поэтому, я напоследок лишь скажу, что максимальный формат записи MsgBox следующий:
MsgBox Текст, Кнопки, Заголовок, СсылкаНаСправочныйФайл, НомерРазделаВСправке
Теперь давайте перейдём к не менее важному InputBox
Для ввода данных используется InputBox.
Минимальная конструкция следующая:
В данном примере текст вводится в поле, а потом происходит его вывод на экран.
Полная конструкция InputBox следующая: InputBox(Текст, Заголовок, ТекстВПоле, xpos, ypos, helpfile, context)
Последние два аргумента как и в MsgBox, а с остальными разберёмся. Пример:
И ниже сразу приведу результаты:
Как мы видим, слева ввод переменной А (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 . Все очень просто:
Читайте также: