Найти в Дзене
VBA Excel с нуля

VBA Excel № 136. MsgBox: Ключевые параметры и возможности.

MsgBox (сокращение от Message Box) - это функция, используемая для отображения диалоговых окон в VBA. Она позволяет выводить сообщения пользователю, и при необходимости, добавлять кнопки, иконки и другие параметры для более интересных и полезных взаимодействий. Синтаксис и основные параметры MsgBox: MsgBox (сообщение[, кнопки] [, заголовок] [, файл справки, контекст]) 1. Текст сообщения: Первый обязательный параметр - это текст сообщения, который отобразится в диалоговом окне. Пример 1: Простое сообщение с кнопкой "OK" MsgBox "Привет, мир!", vbOKOnly, "Пример 1" В этом примере используется текст сообщения "Привет, мир!" с одной кнопкой "OK". Диалоговое окно будет иметь заголовок "Пример 1". 📌 Скачать файл пример с различными параметрами функции MsgBox можно в конце статьи. 2. Тип кнопок (Buttons): Второй параметр позволяет определить, какие кнопки будут отображаться в окне. Например, vbYesNo добавляет кнопки "Да" и "Нет". Пример 2: Подтверждение с кнопками "Да" и "Нет" В этом примере
Оглавление
Скриншот с моего ноутбука
Скриншот с моего ноутбука

MsgBox (сокращение от Message Box) - это функция, используемая для отображения диалоговых окон в VBA. Она позволяет выводить сообщения пользователю, и при необходимости, добавлять кнопки, иконки и другие параметры для более интересных и полезных взаимодействий.

Синтаксис и основные параметры MsgBox:

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

1. Текст сообщения: Первый обязательный параметр - это текст сообщения, который отобразится в диалоговом окне.

Пример 1: Простое сообщение с кнопкой "OK"

MsgBox "Привет, мир!", vbOKOnly, "Пример 1"

Скриншот с моего ноутбука
Скриншот с моего ноутбука

В этом примере используется текст сообщения "Привет, мир!" с одной кнопкой "OK". Диалоговое окно будет иметь заголовок "Пример 1".

📌 Скачать файл пример с различными параметрами функции MsgBox можно в конце статьи.

2. Тип кнопок (Buttons): Второй параметр позволяет определить, какие кнопки будут отображаться в окне. Например, vbYesNo добавляет кнопки "Да" и "Нет".

Пример 2: Подтверждение с кнопками "Да" и "Нет"

Скриншот с моего ноутбука
Скриншот с моего ноутбука

В этом примере сообщение запрашивает подтверждение с кнопками "Да" и "Нет". При выборе "Да" или "Нет" выполняется соответствующий блок кода.

3. Иконка (Icon): Символизирует тип сообщения и может включать звуковой эффект. Например, vbCritical добавляет информационную иконку.

Пример 3: Важное сообщение с иконкой внимания, критики и т.п.

MsgBox "Ошибка: Файл не найден", vbCritical + vbOKOnly, "Пример 3"

Здесь сообщение имеет иконку внимания, что подчеркивает важность сообщения. Единственной кнопкой в диалоговом окне является "OK".

Скриншот с моего ноутбука
Скриншот с моего ноутбука

4. Предвыбранная кнопка (Default Button): Указывает, какая кнопка будет активирована по умолчанию. Например, vbDefaultButton2 делает кнопку "Нет" активной.

Помните этот скриншот? И в сообщении пред-активирована кнопка "Да".

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Изменим код:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

5. Заголовок (Title): Позволяет установить заголовок диалогового окна.

Показано выше.

6. Вспомогательный текст (HelpFile и Context): Эти параметры я не использую. Они предназначены для обеспечения справочной информации в приложениях для третьих лиц.

С комбинацией этих параметров можно создать разнообразные и информативные диалоговые окна, подходящие к разным сценариям использования.

Ещё пример: Информационное сообщение с кнопками "Повторить" и "Отмена"

Скриншот с моего ноутбука
Скриншот с моего ноутбука

vbQuestion + vbRetryCancel- это параметр, который определяет, какие кнопки и иконка будут отображены в диалоговом окне. В данном случае, используется комбинация параметров:

  • vbQuestion- указывает на использование иконки вопроса в диалоговом окне.
  • vbRetryCancel - указывает на наличие двух кнопок: "Повторить" и "Отмена".

При выполнении этой строки кода будет отображено диалоговое окно с текстом "Сохранить изменения?", иконкой вопроса, и двумя кнопками: "Повторить" и "Отмена". Пользователь может выбрать одну из кнопок, и результат будет сохранен в переменной Response, которая будет использоваться для выполнения соответствующего блока кода, в зависимости от выбора пользователя.

Эти примеры показывают, как можно использовать параметры MsgBox для создания разнообразных диалоговых окон в VBA. Вы можете настраивать их в соответствии с вашими потребностями и сценариями работы.

На макросы я назначил кнопки (см. скриншот). Попробуйте поэкспериментировать параметрами данной функции.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

СКАЧАТЬ ФАЙЛ ПРИМЕР