Учебники

VBA — Окно сообщений

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

Синтаксис

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

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

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

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

  • Заголовок — необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

  • Файл справки — необязательный параметр. Строковое выражение, определяющее файл справки, который будет использоваться для предоставления контекстной справки для диалогового окна.

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

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

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

Заголовок — необязательный параметр. Строковое выражение, отображаемое в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.

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

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

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

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

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

  • 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 Модальное приложение — текущее приложение не будет работать, пока пользователь не ответит на окно сообщения.

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

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

1 vbOKCancel — отображает кнопки OK и Отмена.

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 Модальное приложение — текущее приложение не будет работать, пока пользователь не ответит на окно сообщения.

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

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

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

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

  • 1 — vbOK — нажата кнопка ОК
  • 2 — vbCancel — Отмена была нажата
  • 3 — vbAbort — нажата кнопка «Прервать»
  • 4 — vbRetry — повторная попытка была нажата
  • 5 — vbIgnore — щелкнули Ignore
  • 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

Выход

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

Окно сообщений в VBA

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

Окно сообщений в VBA

Шаг 3 — После нажатия OK, появляется еще одно диалоговое окно с сообщением вместе с кнопками «да, нет и отмена».

Окно сообщений в VBA

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