Лекция: Встроенная функция вывода данных MsgBox
Используется для вывода информации в специальном окне. Данную функцию можно использовать следующим образом:
MsgBoxТекст[, Кнопки],[Заголовок]
или:
MyVar = MsgBox(Текст[, Кнопки],[ Заголовок])
Текст– обязательный параметр, определяющий текст, который будет показан в диалоговом окне. Для перевода выводимого текста на новую строку в параметр можно вставить константу VBScript vbCrLf
Кнопки– Необязательный целочисленный параметр, определяющий набор кнопок и вид значка диалогового окна. Если его опустить или установить равным «0», VBScript покажет в окне единственную кнопку – ОК.
Заголовок– Необязательный параметр, определяющий текст заголовка диалогового окна. Если он не задан, Windows выводит в заголовке название приложения.
Замечание: Если необязательный параметр не задан, VBScript использует значение по умолчанию. Чтобы опустить необязательный параметр, надо оставить его место между двумя запятыми пустым.
Посмотрим, что будет, если опустить необязательные параметры. Вот две программы, иллюстрирующие работу функции MsgBox с минимальным набором параметров:
Программа 1: MsgBox “Hello, World!”
Данная программа выводит в специальном окне строчку “Hello, World!”, а также кнопку ОК.
Программа 2: number = 123,09
MsgBox number
Данная программа выводит в специальном окне число 123,09, а также кнопку ОК.
Обратите внимание, что в данных двух программах текст мы заключили в двойные кавычки, а переменную – нет.
В Таблице 3 представлены некоторые константы, сумма которых определят вид «значка», а также наличие кнопки диалогового окна, создаваемого с помощью MsgBox.
Таблица 3 – Перечень констант
Константа | Значение | Описание |
Группа 1 | Появляющиеся кнопки | |
VbOkOnly | Кнопка Ok | |
VbOkCancel | Кнопки Ok и Cancel | |
VbAbortRetryIgnore | Кнопки Abort, Retry и Ignore | |
VbYesNoCancel | Кнопки Yes, No и Cancel | |
… | ||
Группа 2 | Появляющийся значок | |
VbCritical | Критический значок | |
… | ||
Группа 3 | Кнопка выбранная по умолчанию | |
VbDefaultButton2 | Вторая кнопка | |
… | ||
Группа 3 | Вывод на экран | |
VbSystemModal | Окно выводится поверх всех открытых окон |
Полный список параметров доступен в Visual Basic Script Reference.Сумма значений констант может быть введена следующим образом:
VbYesNoCancel+VbCritical+VbDefaultButton2+VbSystemModal
Или 3+16+256+4096
Или просто 4371
Все эти способы ввода означают одно и тоже.Проиллюстрируем данный пример следующей программой:
MsgBox «Запустить отладку?»,VbYesNoCancel+VbCritical+VbDefaultButton2+VbSystemModal
После запуска программы, на экран будет выведено окно с тремя кнопками (Yes, No, Cancel), со значком критического сообщения, причём активной будет вторая кнопка, окно выводится поверх всех окон.
Если вам необходимо оставить значение по умолчанию введите 0:
MsgBox «Произошла ошибка!»&vbCrLf&«Код ошибки: 120002129»,0, «Окно ошибки»
MyVar - означает переменную где будет сохранено возвращаемая функцией информация о нажатой кнопке.
В Таблице 4 представлены некоторые из возвращаемых значений.
Замечание:Если вы используете переменную для хранения информации о нажатой кнопке, то параметры, следующие после MsgBox обязательно заключить в круглые скобки, если нет – то скобки использовать не нужно.
Пример:
K=MsgBox( «Ответ», vbYesNoCancel+vbcritical+vbDefaultButton2+vbSystemModal, «привет»)
Если же значение нажимаемой кнопки не является важным, функцию следует вызывать следующим образом:
Msgbox «Ответ»,vbyesnocancel+vbcritical+vbdefaultbutton2+vbSystemmodal,«привет»
То есть нужно опустить скобки.
Таблица 4 – Перечень возвращаемых значений
Константа | Значение | Нажатая кнопка |
VbOk | Ok | |
VbCancel | Cancel | |
vbAbort | Abort | |
vbRetry | Retry | |
vbIgnore | Ignore | |
vbYes | Yes | |
vbNo | No |