Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel msgbox пример

Excel msgbox пример

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

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

Возвращает значение типа Integer , указывающее, какая кнопка была нажата

Ниже перечислены значения, содержащие код нажатой кнопки:

КонстантаЗначениеНажатая кнопка
vbOK1OK
vbCancel2Отмена (Cancel)
vbAbort3Прервать (Abort)
vbRetry4Повторить (Retry)
vbIgnore5Пропустить (Ignore)
vbYes6Да (Yes)
vbNo7Нет (No)

Параметры
Функция содержит именованные аргументы

ЧастьОписание
PromptОбязательный. Строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина строки составляет приблизительно 1024 символа. Длинный текст разбивается автоматически, но можно задавать разбиение строки явно, используя символы возврата каретки и перевода строки(vbCrLf)
ButtonsНеобязательный аргумент — целочисленная константа, которая является суммой VB-констант, определяющих ряд характеристик диалогового окна — число и тип кнопок, тип значка, основная кнопка, модальность окна сообщения(см.ниже). Значение по умолчанию равно 0
TitleНеобязательный. Строковое выражение, отображаемое в строке заголовка диалогового окна. Максимальное число символов для заголовка около 50. Если этот параметр опущен, в строку заголовка помещается имя приложения
HelpFileНеобязательный. Строковое выражение, определяющее имя файла Справки, содержащего контекстно-зависимую Справку о данном диалоговом окне. Если этот параметр указан, то необходимо задать также и параметр Context
ContextНеобязательный. Числовое выражение, определяющее номер соответствующего раздела справочной системы. Если этот параметр указан, то необходимо задать также и параметр HelpFile

Константы, используемые в аргументе Buttons для задания вида выводимых кнопок, пиктограмм

КонстантаЗначениеОписание
vbOKOnlyОтображается только кнопка «OK»
vbOKCancel1Отображаются кнопки «OK» и «Отмена» (Cancel)
vbAbortRetryIgnore2Отображаются кнопки «Прервать» (Abort), «Повторить» (Retry) и «Пропустить» (Ignore)
vbYesNoCancel3Отображаются кнопки «Да» (Yes), «Нет» (No) и «Отмена» (Cancel)
vbYesNo4Отображаются кнопки «Да» (Yes) и «Нет» (No)
vbRetryCancel5Отображаются кнопки «Повторить» (Retry) и «Отмена» (Cancel)
vbCritical16Используется значок «Критическое сообщение»
vbQuestion32Используется значок «Предупреждающий запрос»
vbExclamation48Используется значок «Предупреждение»
vbInformation64Используется значок «Информационное сообщение»
vbDefaultButton1Основной является первая кнопка
vbDefaultButton2256Основной является вторая кнопка
vbDefaultButton3512Основной является третья кнопка
vbDefaultButton4768Основной является четвертая кнопка
vbApplicationModalМодальное окно на уровне приложения: чтобы продолжить работу с текущим приложением, необходимо ответить на данное сообщение
vbSystemModal4096Модальное окно на уровне системы: все приложения будут недоступны до тех пор, пока пользователь не ответит на данное сообщение
vbMsgBoxHelpButton16384Добавляется кнопка Справка(Help)
VbMsgBoxSetForeground65536Аналогично параметру vbApplicationModal
vbMsgBoxRight524288Текст выравнивается по правому краю
vbMsgBoxRtlReading1048576Задает порядок вывода текста справа налево для арабской системы и иврит

Примечание

Если используется кнопка Отмена(Cancel), то можно вместо нее нажимать на клавишу Esc
В отличие от InputBox окно MsgBox не позиционируется на экране, а всегда располагается в центре экрана

Канал в Telegram

Вы здесь

Примеры работы с диалоговыми сообщениями (msgbox) в VBA

В статье «Примеры макросов в Excel. Диалоговое VBA сообщение msgBox» мы вкратце познакомились с диалоговым сообщением msgbox. Но это было простейшее информационное сообщение. Теперь рассмотрим подробнее работу с функцией MsgBox и все виды диалоговых сообщений.

Синтаксис функции MsgBox

Функция MsgBox имеет следующий синтаксис:

MsgBox ( сообщение [, константы сообщения] [, заголовок] [, файл справки hlp, контекст справки])

Обязательным параметром является «Сообщение», остальные могут быть опущены.

Читать еще:  Одинаковая ширина столбцов в excel

MsgBox “Текст сообщения

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

Диалоговое окно вида:

создается следующей командой:
MsgBox «Текст содержащий вопрос», vbYesNo, «Название сообщения»

Для создания сообщения такого вида:

команда будет выглядеть так:
MsgBox «Текст содержащий вопрос», vbYesNoCancel, «Название сообщения»

Сообщение такого вида:

создается командой:
MsgBox «Текст содержащий вопрос», vbAbortRetryIgnore, «Название сообщения»

т.е. из всех трех примеров в команде меняется только второй параметр (vbYesNo, vbYesNoCancel, vbAbortRetryIgnore). Это и есть значения (константы) определяющие вид сообщения. Параметры (vbYesNo, vbYesNoCancel) могут быть заменены на числовое значение, например диалог vbYesNo можно вызвать, указав 4: MsgBox «Текст содержащий вопрос», 4, «Название сообщения».

Ниже приведен полный список констант и эквивалентных им цифровых значений:

Константа

Значение

Описание

vbOKOnly

Выводит сообщение с кнопкой OK

vbOKCancel

Выводит сообщение с кнопками OK и Отмена

vbAbortRetryIgnore

Выводит сообщение с кнопками Прервать, Повтор, Пропустить

vbYesNoCancel

Выводит сообщение с кнопками Да, Нет, Отмена.

vbYesNo

Выводит сообщение с кнопками Да и Нет

vbRetryCancel

Выводит сообщение с кнопками Повтор и Отмена

В сообщениях можно слегка изменить внешний вид, назначить кнопку по умолчанию, добавить кнопку «Справка» путем сложения констант.

Например: MsgBox «Текст содержащий вопрос», vbYesNoCancel+vbInformation+vbMsgBoxHelpButton+vbDefaultButton2, «Название сообщения» построит сообщение вида:

vbInformation — добавляет иконку восклицания в сообщение
vbMsgBoxHelpButton — добавляет кнопку «Справка»
vbDefaultButton2 — устанавливает фокус на второй кнопке («Нет«)

Ниже таблица со списком констант иконок и констант, устанавливающих фокус на кнопках:

Константа

Значение

Описание

vbCritical

Выводит иконку критического сообщения (красный овал с крестом)

vbQuestion

Выводит иконку с вопросительным знаком

vbExclamation

Выводит иконку с восклицательным знаком (в желтом треугольнике)

vbInformation

Выводит иконку информационного сообщения

vbDefaultButton1

Устанавливает фокус по умолчанию на первой кнопке

vbDefaultButton2

Устанавливает фокус по умолчанию на второй кнопке

vbDefaultButton3

Устанавливает фокус по умолчанию на третьей кнопке

vbDefaultButton4

Устанавливает фокус по умолчанию на четвертой кнопке

vbMsgBoxHelpButton

Добавляет кнопку Справка

vbMsgBoxRight

Выравнивание текста сообщения по правой стороне

vbMsgBoxRtlReading

Зеркально переворачивает все элементы в сообщении (см. снимок ниже)

Как узнать какую кнопку в сообщении нажал пользователь?

Определяться выбор пользователя будет с помощью условия IF. В некоторых ситуациях можно использовать Select Case.

Например, вызовем сообщение двойным нажатием ЛКМ по любой ячейке на листе. В соответствии с выбором пользователя, выведем в эту ячейку текст.

Создаем новую книгу Excel и переходим в режим Visual Basic (Alt+F11). В окне проекта выбираем «Лист1» и кликаем по нему два раза ЛКМ.

В открывшемся окне редактора кода вводим следующую процедуру:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If MsgBox(«Текст содержащий вопрос», vbYesNo, «Название сообщения») = vbYes Then
Selection = «Нажата ДА»
Else
Selection = «Нажата Нет»
End If

End Sub

В условии IF мы сравниваем результат возвращенный функцией MsgBox, с константой vbYes т.е. если в сообщении нажата кнопка «Да», тогда функция MsgBox возвращает значение vbYes (6). Полный перечень констант и их цифровых эквивалентов ниже. Теперь попробуйте на Листе 1 кликнуть два раза по любой ячейке.

Читать еще:  Vba excel открыть книгу

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

Второй вариант вызова диалога с помощью Select Case.

Создадим вторую процедуру на Листе 2. Код процедуры следующий:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim mes
mes = MsgBox(«Текст содержащий вопрос», vbYesNoCancel + vbInformation + vbDefaultButton2, «Название сообщения»)

Select Case mes
Case vbYes: Selection = «Нажата ДА»
Case vbNo: Selection = «Нажата НЕТ»
Case vbCancel: Selection = «Нажата Отмена»
End Select

End Sub

В этом случае результат вызова MsgBox присваивается переменной mes и далее в Select Case ищется совпадение и согласно совпадения, выполняются действия.

Вот и все. Ниже прикреплен готовый пример, рассмотренный в этой статье.

Перечень констант и значений, возвращаемых функцией MsgBox:

VBA Excel. Функция MsgBox (синтаксис, параметры, значения)

Использование функции MsgBox в VBA Excel, ее синтаксис и параметры. Значения, возвращаемые функцией MsgBox. Примеры использования.

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

Синтаксис функции

MsgBox ( Prompt [, Buttons ] [, Title ])

Обязательным параметром функции MsgBox является Prompt, если Buttons и Title явно не указаны, используются их значения по умолчанию. Кроме того, если необязательные параметры не указаны и возвращаемое значение не присваивается переменной, сообщение не заключается в скобки:

Пример 1

Параметры функции

ПараметрОписаниеЗначение
по умолчанию
Prompt*Обязательный параметр. Выражение типа String, отображаемое в диалоговом окне в виде сообщения. Разделить на строки можно с помощью константы vbNewLine.Нет
ButtonsНеобязательный параметр. Числовое выражение, которое представляет собой сумму значений, задающих номер и тип отображаемых кнопок, стиль используемого значка, тип кнопки по умолчанию.
TitleНеобязательный параметр. Выражение типа String, отображаемое в заголовке диалогового окна.Имя приложения**

*Максимальная длина параметра Prompt составляет примерно 1024 знака и зависит от их ширины.

**В Excel по умолчанию в заголовке MsgBox выводится надпись «Microsoft Excel».

Константы параметра «Buttons»

Тип и количество кнопок

КонстантаОписаниеЗначение
vbOKOnlyОтображается только кнопка OK.
vbOKCancelОтображаются кнопки OK и Cancel (Отмена).1
vbAbortRetryIgnoreОтображаются кнопки Abort (Прервать), Retry (Повторить) и Ignore (Пропустить).2
vbYesNoCancelОтображаются кнопки Yes (Да), No (Нет) и Cancel (Отмена).3
vbYesNoОтображаются кнопки Yes (Да) и No (Нет).4
vbRetryCancelОтображаются кнопки Retry (Повторить) и Cancel (Отмена).5

Стиль значка

КонстантаОписаниеЗначение
vbCriticalОтображается значок Critical – Критичное сообщение, сообщение об ошибке.16
vbQuestionОтображается значок Question – Сообщение с вопросом.32
vbExclamationОтображается значок Exclamation – Предупреждающее сообщение.48
vbInformationОтображается значок Information – Информационное сообщение.64

Для просмотра отображаемых значков, скопируйте код в свой модуль и запустите на выполнение:

Окно сообщения в VBA Excel — MsgBox

В этой статье Вы научитесь создавать окно сообщения в VBA Excel, которое может отображать различную информацию.

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

Синтаксис

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

  • Запрос — обязательный параметр. Строка, отображаемая в виде сообщения в диалоговом окне. Максимальная длина приглашения — около 1024 символов. Если сообщение распространяется более чем на одну строку, то строки могут быть разделены с использованием символа возврата каретки (Chr (13)) или символа перевода строки (Chr (10)) между каждой строкой.
  • Кнопки — необязательный параметр. Числовое выражение, которое указывает тип отображаемых кнопок, стиль значка для использования, идентификатор кнопки по умолчанию и модальность окна сообщения. Если оставить пустым, значение по умолчанию для кнопок равно 0.
  • Заголовок — необязательный параметр. Строковое выражение отображается в строке заголовка диалогового окна. Если заголовок оставлен пустым, имя приложения помещается в строку заголовка.
  • Файл справки — необязательный параметр. Выражение String, которое идентифицирует файл справки, который будет использоваться для предоставления контекстно-зависимой справки для диалогового окна.
  • Контекст — необязательный параметр. Числовое выражение, которое идентифицирует номер контекста справки, присвоенный автору справки, в соответствующий раздел справки. Если контекст предоставлен, также должен быть предоставлен справочный файл.
Читать еще:  Мигающая ячейка в excel

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

  • 0 vbOKOnly — отображает только кнопку OK.
  • 1 vbOKCancel — отображает кнопки «ОК» и «Отмена».
  • 2 vbAbortRetryIgnore — отображает кнопки отмены, повтора и игнорирования.
  • 3 vbYesNoCancel — отображает кнопки «Да», «Нет» и «Отмена».
  • 4 vbYesNo — отображает кнопки «Да» и «Нет».
  • 5 vbRetryCancel — отображает кнопки повтора и отмены.
  • 16 vbCritical — отображает значок критического сообщения.
  • 32 vbQuestion — отображает значок предупреждения.
  • 48 vbExclamation — отображает значок предупреждающего сообщения.
  • 64 vbИнформация. Отображает значок информационного сообщения.
  • 0 vbDefaultButton1 — первая кнопка по умолчанию.
  • 256 vbDefaultButton2 — вторая кнопка по умолчанию.
  • 512 vbDefaultButton3 — Третья кнопка по умолчанию.
  • 768 vbDefaultButton4 — Четвертая кнопка по умолчанию.
  • 0 vbApplicationModal Application modal — текущее приложение не будет работать, пока пользователь не ответит на сообщение.
  • 4096 vbSystemModal System modal — все приложения не будут работать, пока пользователь не ответит на сообщение.

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

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

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

  • 1 — нажата кнопка vbOK — OK.
  • 2 — vbCancel — нажата кнопка Отмена
  • 3 — vbAbort — нажата кнопка Abort
  • 4 — vbRetry — нажата кнопка Retry
  • 5 — vbIgnore — нажата кнопка Ignore
  • 6 — vbYes — нажата кнопка «Да»
  • 7 — vbNo — Нет щелчка

MsgBox по шагам

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

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

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

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

Ссылка на основную публикацию
Adblock
detector