Для вывода сообщения используем функцию MsgBox – Message Box. Насчет Message
всё понятно, это «сообщение», то есть текст, который печатают на экране. А вот слово Box – это не «коробка», как учили в школе, а «окно». Другими словами, это прямоугольная область на экране, куда что-то выводят.
Текст программы простой и короткий:
MsgBox «Hello, World!»
Строка для вывода записана в кавычках и через пробел от названия функции – без скобок.
Сохраняем как hello. vbs. Дважды щелкаем мышью на нашем файле и запускаем программу.
На экране появляется диалоговое окно с сообщением «Hello, World!». Нажимаем кнопку ОК, и окно закрывается.
Наша программа работает в графическом интерфейсе Windows и использует готовые инструменты ОС для создания прикладных программ. В нашем примере это окно, сообщение и кнопка. Также здесь имеется кнопка закрытия окна Close.
Рис. Выводим приветствие
Обратим внимание на иконку. На картинке изображен длинный бумажный свиток. Этот свиток постепенно раскручивают, и на нём просматриваются строки текста. Такая иконка визуально передает нам идею «сценария работы».
Задание. Создайте свою программу с использованием MsgBox и выведите на экран свое собственное сообщение.
InputBox – ввод данных
Следующая функция InputBox – это средство для ввода текста.
Мы спросим пользователя, как его зовут, и выведем персональное приветствие.
name = InputBox («Please enter your name:»)
MsgBox «Hello, " & name &»!»
В первой строке программы мы запрашиваем имя пользователя.
Записываем полученное имя в переменную name.
Затем во второй строке мы выводим персональный «привет».
Для этого мы объединяем строки (приветствие + имя + восклицательный знак) с помощью символа & – «амперсанд».
Полученную строку выводим на экран.
Рис. Программа с окном ввода
Задание. Просмотрите в Википедии статью Амперсанд и выясните его значение и происхождение.
Сохраняем скрипт как name. vbs. Запускаем на выполнение, вводим имя и получаем персональный привет.
Рис. Вводим имя
Вроде бы всё просто. Но при вводе русского текста в английской версии Windows могут возникнуть проблемы.
Рис. Проблемы локализации
Задание. Составьте свой скрипт по приведенному выше примеру. Проверьте, как он работает при выводе русских букв.
Возможно, вам повезет. Но на нашем компьютере пришлось повозиться и поискать решение проблемы локализации, региональных настроек и кодовых страниц. Работающее решение оказалось простым. Начинаем сохранять файл и выбираем кодировку ANSI вместо UTF-8, которая у нас была по умолчанию.
Рис. Говорите по-русски…
Задание. Сохраните свой скрипт в разных кодировках и проверьте его реакцию на русские буквы.
MsgBox – Параметры окна
Мы познакомились с функцией MsgBox и посмотрели, как работает вывод текста в окне. У этой функции есть много дополнительных возможностей – и для украшательства, и для дела. Подробное описание функции можно найти на страничке разработчиков – у корпорации Microsoft.
На рисунке приводится пример того, что можно найти через Google, Yandex или просто через поиск на сайте компании. Адрес странички:
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/msgbox-function
Рис. Описание функции MsgBox
В описании указан один обязательный аргумент prompt – сообщение для вывода на экран. Вообще-то слово prompt переводится как «приглашение к действию» или «подсказка». Мы с этим словом сталкиваемся, когда составляем запрос к нейросети. Еще это слово означает «приглашение к вводу команд» в командной строке ОС. И вот теперь это означает «сообщение на экране». Интересно, почему?