русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Функция MsgBox


Дата добавления: 2015-07-23; просмотров: 3192; Нарушение авторских прав


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

Вы можете подумать, что создание такого окна сообщения требует многих часов программирования. Заблуждаетесь! Такое окно можно создать с помощью всего одной строчки кода VBA:

MsgBox "Сохранить изменения в ' “ & ThisWorkbook.Name & “ '? “, _

vbYesNoCancel + vbExclamation

Отметим, что оператор MsgBox записан здесь в две строки, хотя в окне кода редактора Visual Basic он может располагаться в одну строку. В VBA символами продолжения строки служит пробел с последующим символом подчеркивания.

Рис. 5.1. Одно из многих окон сообщений, генерируемых Excel

В этом коде свойство ThisWorkbook.Name возвращает имя текущей рабочей книги.

Функция MsgBox служит для организации диалоговых окон, содержащих какие-либо сообщения. После своего появления на экране окно сообщения ждет, пока пользователь щелкнет на одной из кнопок, присутствующих в окне. В зависимости от того, на какой кнопке щелкнул пользователь, функция возвращает определенное целое число. Функция MsgBox имеет следующий синтаксис:

MsgBox (приглашение [, кнопки] [, заголовок] [, файл_справки, содержание])

Приглашение (prompt) - единственный обязательный аргумент этой функции. Значением этого аргумента служит строка текста, которая появляется как сообщение в диалоговом окне. Эта строка текста должна быть заключена в двойные кавычки. Отметим использование круглых скобок в синтаксисе MsgBox - они указывают на то, что в данном случае MsgBox является функцией, возвращающей какое-либо значение. Если скобки опушены, то для VBA это признак того, что данное выражение значение не возвращает. Если вы хотите возвратить значение, надо использовать код, подобный следующему:

Dim iResponse As Integer



iResponse = MsgBox (“Сохранить изменения в ‘ ” &_

ThisWorkbook.Name & “ ‘?”, vbYesNoCancel + vbExclamation)

Если не указан аргумент кнопки, то VBA предполагает, что в диалоговом окне сообщения присутствует только кнопка ОК. Аргумент кнопки - очень "богатый" по своим возможностям аргумент, который позволяет управлять следующими параметрами окна сообщения.

  • Количество кнопок в окне.
  • Типы кнопок и их размещение в окне.
  • Пиктограмма, отображаемая в окне.
  • Какая кнопка назначается кнопкой по умолчанию.
  • Режим (модальность) окна сообщения.

В табл. 5.1 показаны возможные установки для этого аргумента. В этой таблицы значения аргумента разбиты на группы. Первая группа значений устанавливает число и тип кнопок. Вторая позволяет выбрать стиль пиктограммы, отображаемой в диалоговом окне сообщения. Третья назначает кнопку по умолчанию. Четвертая группа устанавливает режим окна сообщения. Для создания конечного значения аргумента кнопки можно использовать только одно значение из каждой группы, объединив их знаком "плюс".

Таблица 5.1. Установки для аргумента кнопки функции MsgBox

Группа Константа Значение Описание
Группа 1 vbOKOnly Отображает только кнопку ОК (установка по умолчанию)
vbOKCancel Отображает кнопки ОК и Отмена1
vbAbortRetryIgnore Отображает кнопки Стоп, Повтор и Пропустить
voYesNoCancel Отображает кнопки Да, Нет и Отмена
vbYesNo Отображает кнопки Да и Heт
vbRetryCancel Отображает кнопки Повтор и Отмена
Группа 2 vbCritical Отображает запрещающую пиктограмму (белый знак × в красном круге)
vbQuestion Отображает предупреждающую пиктограмму (знак вопроса на белом фоне)
vbExclamation Отображает предупреждающую пиктограмму (знак вопроса в красном треугольнике)
vbInformation Отображает информационную пиктограмму (знак "i" на белом фоне)
Группа 3 vbDefaultButton1 Первая кнопка - кнопка по умолчанию
vbDefaultButton2 Вторая кнопка - кнопка по умолчанию
vbDefaultButton3 Третья кнопка - кнопка по умолчанию
vbDefaultButton4 Четвертая кнопка - кнопка по умолчанию
Группа 4 vbApplicationModal Режим приложения: пользователь должен закрыть окно сообщения перед продолжением работы в текущем приложении
vbSystemModal Системный режим: все приложения недоступны, пока пользователь не закроет окно сообщения
Дополнительная группа vbMsgBoxHelpButton Отображает кнопку Справка
vbMsgBoxSetForeground Делает окно сообщения окном переднего плана
vbMsgBoxRight Отображает окно сообщения, выровненным по правому краю окна приложения
vbMsgBoxRtlReading Для иврита и арабского языка указывает, что текст должен выводиться справа налево

Чтобы не ошибиться при вводе значений аргумента кнопки, используйте список констант, который появляется после ввода знака "+". Знак "+" используется для объединения нескольких констант при задании сложного аргумента кнопки. - Прим. ред.

Чтобы просмотреть список всех внутренних констант Visual Basic, откройте с помощью клавиши <F2> окно просмотра объектов Object Browser и выберите класс Constants (Константы). В этом же окне можно найти все внутренние константы Excel.

Аргумент заголовок позволяет задать текст, помещаемый в строке заголовка диалогового окна сообщения. Если этот аргумент опущен, то в строке заголовка отображается Microsoft Excel.

Аргументы файл_справки и содержание используются тогда, своего приложения для своего приложения собственную справочную систему.

Напомню, что сейчас мы рассматриваем MsgBox как функцию, это подразумевает, что она должна возвращать значение. В табл. 5.2 представлен список значений, возвращаемых функцией MsgBox. Возвращаемое значение зависит от того, на какой кнопке щелкнул пользователь в окне сообщения.

Таблица 5.2. Значения, возвращаемые функцией

Константа Значение Нажатая кнопка
vbOK ОК
vbCancel Отмена
vbAbort Стоп
vbRetry Повтор
vbIgnore Пропустить
vbYes Да
vbNo Нет

Глядя на эту таблицу, вы можете задать вопрос: "Какой тип данных надо назначить переменной, которая будет принимать возвращаемое функцией MsgBox значение?". Наилучший тип переменной, принимающей значение функции MsgBоx, - Integer. В следующем примере мы создадим окно сообщения с несколькими кнопками, а затем покажем возвращаемое значение в другом окне сообщения.

  1. Откройте редактор Visual Basic.
  2. Щелкните правой кнопкой мыши на элементе ЭтаКнига в окне проектов Project Explorer.
  3. В контекстном меню выберите команду Inserts Module (Вставка Модуль).
  4. Выполните команду Insert Procedure (Вставка Процедура).
  5. Введите название процедуры ПримерОСообщения и нажмите клавишу <Enter>.
  6. Введите следующий код процедуры:

Dim iResult As Integer

iResult = MsgBox(“Щелкните на кнопке”, vbYеsNoCancel)

MsgBox iResult

  1. Нажмите клавишу <F5> для выполнения процедуры. Отобразится окно сообщения, как на рис. 5.2.

Рис. 5.2. В соответствии с заданными аргументами окно сообщения содержит три кнопки

  1. Щелкните на кнопке Да. Следующее диалоговое окно должно вывести цифру 6. Посмотрите в табл. 5.2, чтобы удостовериться, что число 6 - результат щелчка на кнопке Да. Щелкните на кнопке ОК, второе окно сообщения закроется, и вы вернетесь в редактор Visual Basic.
  2. Снова нажмите клавишу <F5> для выполнения процедуры. Теперь в окне сообщения щелкните на кнопке Нет. Во втором окне сообщения отобразится цифра 7. Для возврата в редактор Visual Basic щелкните на кнопке ОК.
  3. Нажмите клавишу <F5> еще раз. В окне сообщения щелкните на кнопке Отмена. Во втором окне сообщения отобразится цифра 2. Щелкните на кнопке ОК.

Теперь вы знаете, как показать значение, возвращаемое окном сообщения. В 6-м часе "Логика условных операторов" вы узнаете, как можно использовать это значение.



<== предыдущая лекция | следующая лекция ==>
Упражнение | Функция InputBox


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.