VBA - окно сообщения

В MsgBox function отображает окно сообщения и ждет, пока пользователь нажмет кнопку, а затем выполняется действие на основе кнопки, нажатой пользователем.

Синтаксис

MsgBox(prompt[,buttons][,title][,helpfile,context])

Параметр Описание

  • Prompt- Обязательный параметр. Строка, отображаемая как сообщение в диалоговом окне. Максимальная длина приглашения составляет примерно 1024 символа. Если сообщение занимает более одной строки, то строки можно разделить с помощью символа возврата каретки (Chr (13)) или символа перевода строки (Chr (10)) между каждой строкой.

  • Buttons- Необязательный параметр. Числовое выражение, определяющее тип отображаемых кнопок, используемый стиль значка, идентификатор кнопки по умолчанию и модальность окна сообщения. Если оставить поле пустым, значение по умолчанию для кнопок равно 0.

  • Title- Необязательный параметр. Выражение String, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

  • Helpfile- Необязательный параметр. Выражение String, определяющее файл справки, используемый для предоставления контекстно-зависимой справки для диалогового окна.

  • Context- Необязательный параметр. Числовое выражение, определяющее номер контекста справки, присвоенный автором справки соответствующему разделу справки. Если указан контекст, также должен быть предоставлен файл справки.

В Buttons параметр может принимать любое из следующих значений -

  • 0 vbOKOnly - отображает только кнопку ОК.

  • 1 vbOKCancel - отображает кнопки ОК и Отмена.

  • 2 vbAbortRetryIgnore - отображает кнопки «Прервать», «Повторить попытку» и «Игнорировать».

  • 3 vbYesNoCancel - отображает кнопки «Да», «Нет» и «Отмена».

  • 4 vbYesNo - отображает кнопки Да и Нет.

  • 5 vbRetryCancel - отображает кнопки повтора и отмены.

  • 16 vbCritical - отображает значок критического сообщения.

  • 32 vbQuestion - отображает значок предупреждающего запроса.

  • 48 vbExclamation - отображает значок предупреждающего сообщения.

  • 64 vbInformation - Отображает значок информационного сообщения.

  • 0 vbDefaultButton1 - первая кнопка по умолчанию.

  • 256 vbDefaultButton2 - вторая кнопка по умолчанию.

  • 512 vbDefaultButton3 - Третья кнопка по умолчанию.

  • 768 vbDefaultButton4 - четвертая кнопка по умолчанию.

  • 0 vbApplicationModal Application modal - текущее приложение не будет работать, пока пользователь не ответит на окно сообщения.

  • 4096 vbSystemModal Модальное окно системы - все приложения не будут работать, пока пользователь не ответит на окно сообщения.

Вышеуказанные значения логически разделены на четыре группы: first group(От 0 до 5) обозначают кнопки, которые будут отображаться в окне сообщения. Вsecond group (16, 32, 48, 64) описывает стиль отображаемого значка, third group (0, 256, 512, 768) указывает, какая кнопка должна быть по умолчанию, а fourth group (0, 4096) определяет модальность окна сообщения.

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

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

  • 1 - vbOK - нажали ОК
  • 2 - vbCancel - нажата кнопка "Отмена"
  • 3 - vbAbort - нажата кнопка "Прервать"
  • 4 - vbRetry - была нажата повторная попытка
  • 5 - vbIgnore - нажата кнопка "Игнорировать"
  • 6 - vbYes - нажали Да
  • 7 - vbNo - не было нажато

пример

Function MessageBox_Demo() 
   'Message Box with just prompt message 
   MsgBox("Welcome")     
   
   'Message Box with title, yes no and cancel Butttons  
   int a = MsgBox("Do you like blue color?",3,"Choose options") 
   ' Assume that you press No Button  
   msgbox ("The Value of a is " & a) 
End Function

Вывод

Step 1 - Вышеупомянутая функция может быть выполнена либо путем нажатия кнопки «Выполнить» в окне VBA, либо путем вызова функции из таблицы Excel, как показано на следующем снимке экрана.

Step 2 - Отображается окно простого сообщения с сообщением «Добро пожаловать» и кнопкой «ОК».

Step 3 - После нажатия кнопки «ОК» отображается еще одно диалоговое окно с сообщением с кнопками «да, нет и отменить».

Step 4- После нажатия кнопки «Нет» значение этой кнопки (7) сохраняется как целое число и отображается в виде окна сообщения для пользователя, как показано на следующем снимке экрана. Используя это значение, можно понять, какую кнопку нажал пользователь.