Перейти к содержимому

Как вывести окно сообщения в макросе ворд

  • автор:

Функция MsgBox

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

Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.

Синтаксис

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

Синтаксис функции MsgBox включает следующие именованные аргументы:

Часть Описание
сообщение Обязательный аргумент. Строковое выражение, отображающееся в диалоговом окне. Максимальная длина строки аргумента сообщение составляет приблизительно 1024 знака и зависит от их ширины. Если запрос состоит из нескольких строк, можно разделить строки с помощью символа возврата каретки (Chr(13)), символа канала строк (Chr(10)) или возврата каретки — сочетания символов канала строки (Chr(13) &Chr(10)) между каждой строкой.
кнопки Необязательный аргумент. Числовое выражение, являющееся комбинацией значений, указывающих количество и тип отображаемых кнопок, стиля значков, выбранной по умолчанию кнопки и модальности окна сообщения. Если аргумент кнопки пропущен, по умолчанию используется значение 0.
заголовок Необязательный аргумент. Строковое выражение, отображаемое в заголовке диалогового окна. Если аргумент заголовок пропущен, в заголовке выводится имя приложения.
файл_справки Необязательный аргумент. Строковое выражение, определяющее файл, в котором содержится контекстная справка для данного диалогового окна. Если задан аргумент файл_справки, необходимо также указать аргумент контекст.
контекст Необязательный аргумент. Числовое выражение, представляющее собой номер контекста, присвоенный автором справки соответствующему разделу. Если задан аргумент контекст, необходимо также указать аргумент файл_справки.

Параметры

Константа Значение Описание
vbOKOnly 0 Отображается только кнопка ОК.
vbOKCancel 1 Отображаются кнопки ОК и Отмена.
vbAbortRetryIgnore 2 Отображаются кнопки Прервать, Повторить и Пропустить.
vbYesNoCancel 3 Отображаются кнопки Да, Нет и Отмена.
vbYesNo 4 Отображаются кнопки Да и Нет.
vbRetryCancel 5 Отображаются кнопки Повторить и Отмена.
vbCritical 16 Отображается значок важного сообщения.
vbQuestion 32 Отображение значка Warning Query (Запрос с предупреждением).
vbExclamation 48 Отображение значка Warning Message (Сообщение с предупреждением).
vbInformation 64 Отображается значок информационного сообщения.
vbDefaultButton1 0 По умолчанию активна первая кнопка.
vbDefaultButton2 256 По умолчанию активна вторая кнопка.
vbDefaultButton3 512 По умолчанию активна третья кнопка.
vbDefaultButton4 768 По умолчанию активна четвертая кнопка.
vbApplicationModal 0 Модальность на уровне приложения. Пользователь должен ответить на сообщение, чтобы продолжить работу в текущем приложении.
vbSystemModal 4096 Модальность на уровне системы. При ожидании ответа пользователя на сообщение приостанавливается работа всех приложений.
vbMsgBoxHelpButton 16384 Добавляет кнопку Справка в окно сообщения.
vbMsgBoxSetForeground 65536 Расположение окна сообщения на переднем плане.
vbMsgBoxRight 524288 Текст выравнивается по правому краю.
vbMsgBoxRtlReading 1048576 Система чтения справа налево для иврита и арабского языка.

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

Эти константы задаются Visual Basic для приложений в перечислении VbMsgBoxStyle. что позволяет заменять ими числовые значения в любом месте программы.

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

Возвращаемые значения определяются в перечислении VbMsgBoxResult .

Константа Значение Описание
vbOK 1 OK
vbCancel 2 Отмена
vbAbort 3 Прервать
vbRetry 4 Повторить
vbIgnore 5 Пропустить
vbYes 6 Да
vbNo 7 Нет

Примечания

Если одновременно указаны аргументы файл_справки и контекст, пользователь может нажать клавишу F1 (Windows) или HELP (Macintosh) для просмотра раздела справки, соответствующего аргументу контекст. Некоторые ведущие приложения, например Microsoft Excel, автоматически добавляют кнопку Справка в диалоговое окно.

Если в диалоговом окне есть кнопка Отмена, ее нажатие равносильно нажатию клавиши ESC. Если в диалоговом окне есть кнопка Справка, для него доступна контекстная справка. Однако до нажатия какой-либо другой кнопки никакое значение не возвращается.

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

Пример

В приведенном ниже примере функция MsgBox используется для вывода сообщения о критической ошибке в диалоговом окне с кнопками Да и Нет. Кнопка Нет выбрана по умолчанию. Значение, возвращаемое функцией MsgBox, зависит от нажатой пользователем кнопки. Предполагается, что DEMO.HLP является файлом справки и содержит раздел под номером контекста 1000 .

Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Do you want to continue ?" ' Define message. Style = vbYesNo Or vbCritical Or vbDefaultButton2 ' Define buttons. Title = "MsgBox Demonstration" ' Define title. Help = "DEMO.HLP" ' Define Help file. Ctxt = 1000 ' Define topic context. ' Display message. Response = MsgBox(Msg, Style, Title, Help, Ctxt) If Response = vbYes Then ' User chose Yes. MyString = "Yes" ' Perform some action. Else ' User chose No. MyString = "No" ' Perform some action. End If 

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Обратная связь

Были ли сведения на этой странице полезными?

покупка

Как создать окно сообщения «да нет» перед запуском макроса в Excel?

В Excel вы можете напрямую запустить макрос, нажав клавишу F5 ключ или щелкните Run в Microsoft Visual Basic для приложений окно. Но иногда вам может понадобиться создать окно сообщения, которое спросит пользователя, хочет ли он запустить макрос. Если да, то продолжайте выполнение кода, если нет, прекратите выполнение кода. В этой статье я расскажу о том, как создать окно сообщения «да нет» перед запуском макроса в Excel.

Перед запуском макроса с кодом VBA создайте окно сообщения да нет

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

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модули Окно.

Код VBA: создайте окно сообщения да нет перед запуском макроса:

Sub continue() CarryOn = MsgBox("Do you want to run this macro?", vbYesNo, "Kutools for Excel") If CarryOn = vbYes Then 'put rest of code here End If End Sub 

Внимание: В приведенном выше коде скопируйте и вставьте свой собственный код без ниже заголовок и End Sub нижний колонтитул между Если CarryOn = vbYes, то и конец, если скрипты. Смотрите скриншот:

окно сообщения документа да нет макрос 1

3, Затем нажмите F5 key, появится окно с напоминанием о том, что вы хотите запустить этот код, нажмите Да кнопку, чтобы продолжить, и нажмите Нет чтобы остановиться, см. снимок экрана :

MsgBox — оператор VBA для вывода сообщений пользователю процедуры

Ранее мы уже узнали, в чем разница между макросами и процедурами, кроме того, попробовали самостоятельно записать простенький макрос. Теперь попробуем написать текст процедуры, позволяющей вывести текстовое сообщение. Для этого откроем приложение Word либо Excel, создадим новый документ или рабочую книгу и нажмем сочетание клавиш Alt+F11 для активизации редактора Visual Basic. Далее в окне Project Explorer выделим проект с именем созданного документа/рабочей книги и добавим в него новый модуль через меню Insert/Module. Редактор VB добавляет в проект новый модуль и открывает для него Code Window – окно, в котором пишется программный код процедуры. Исходный код новой процедуры VBA можно ввести в любом месте модуля (номера строк писать не нужно). Напишем классическую программу, выводящую диалоговое окно с сообщением «Hello, World!». Состоять она будет из трех строк.

Sub HelloWorld() MsgBox “Hello, World!” End Sub

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

Вторая строка процедуры HelloWorld образует тело процедуры и состоит из единственного оператора, выполняющего полезную работу. Тело процедуры может состоять как из одного, так и из многих операторов, а может и не состоять ни из одного оператора. Оператор MsgBox выводит диалоговое окно с текстовым сообщением «Hello, World!» для пользователя процедуры.

Третья и последняя строка вышеприведенного листинга завершает процедуру и состоит всего из двух слов – End Sub, чем отмечает конец программы. При выполнении этой инструкции никаких видимых действий не происходит, но при этом высвобождается память, временно использованная при выполнении процедуры.

Различные сообщения либо любая другая информация, которую процедура выводит на экран, отправляет на принтер либо записывает в файл, называется выходом. Оператор MSgBox – это простейшая форма экранного выхода, используемая в процедурах VBA.

Используя аргументы для оператора MsgBox можно изменить вид диалогового окна.

Sub HelloWorld() MsgBox "Hello, World!", vbInformation, "Окно приветствия" End Sub

Остается выполнить написанный исходный код и посмотреть что получилось. Переключаемся в окно приложения (Word, Excel), нажимаем сочетание клавиш Alt+F8, выбираем в открывшемся окне из предложенного списка строку с именем процедуры «HelloWorld» и нажимаем кнопку «Выполнить».

Другие материалы по теме:

  • InputBox — оператор VBA для получения входных данных от пользователя процедуры
  • Like — оператор VBA для сравнения строки с шаблоном. Нечеткий поиск

Как вывести окно сообщения в макросе ворд

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *