Как создать функции окна сообщения в excel?

Первое, что я узнал о VBA, — это как использовать окно сообщений («функция msgbox»). Это похоже на простое всплывающее окно в окне Excel для отображения определенного сообщения. Если подумать, то можно использовать его двумя способами.

  • Доставить сообщение пользователю.
  • Получите простой ответ от пользователя.

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

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

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

…Давайте начнем.

Синтаксис

=MSGBOX(приглашение, [кнопки], [заголовок], [файл справки, контекст])

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

  • подсказка Строковое выражение, используемое для отображения в виде сообщения. Максимальная длина символа — 1024, которая зависит от ширины символа.
  • [кнопки] Этот аргумент можно использовать для указания кнопок, стиля значков, идентификатора кнопки и модальности окна сообщения.
  • [title] Вы можете использовать этот аргумент, чтобы указать текст заголовка для вашего окна сообщения.
  • [helpfile] Этот аргумент поможет вам указать файл справки для пользователя. Пользователь может получить доступ к этому файлу справки, используя кнопку «Справка». Если вы указываете файл справки, обязательно укажите номер контекста.
  • [контекст] Числовое выражение, используемое для назначения темы справки из меню справки.

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

Как настроить окно сообщений и использовать разные кнопки

Вы можете легко настроить окно сообщения VBA со всеми доступными параметрами. Давайте рассмотрим эти варианты.

№1. vbOKOnly

Это дает вам простую кнопку ОК. Пользователь может нажать на него после прочтения сообщения, чтобы закрыть его. Вы также можете дополнительно использовать макрос, который будет запускаться после нажатия кнопки «ОК».

Под OKOnly()

MsgBox Prompt := «Это MsgBox», _

Кнопки:=vbOKOnly, _

Название: = «Почтовый ящик»

Окончание субтитров

№2. вбоОКОтмена

Эта константа дает вам кнопку «ОК» и «Отмена». Теперь у пользователя есть два варианта: нажать «ОК», чтобы продолжить, или «Отмена», чтобы выйти.

Под ОКОтмена()

Подсказка MsgBox:= »С тобой все в порядке? », _

Кнопки:=vbOKCancel, _

Название: = «Почтовый ящик»

Окончание субтитров

№3. вбабортретриигнор

Это позволяет отображать три кнопки «О программе», «Повторить» и «Пропустить». Пользователь может прервать операцию, повторить ее или проигнорировать.

Под ОКОтмена()

Подсказка MsgBox:= »С тобой все в порядке? », _

Кнопки:=vbOKCancel, _

Название: = «Почтовый ящик»

Окончание субтитров

№4. вбДаНетОтмена

Эта константа отображает три кнопки: Да, Нет и Отмена. Пользователь может Да, чтобы принять и продолжить, Нет, чтобы отклонить или отменить, чтобы закрыть окно сообщения.

Под ДаНетОтмена()

MsgBox Prompt := «Теперь у вас есть три кнопки», _

Кнопки:=vbДаNoCancel, _

Название: = «Почтовый ящик»

Окончание субтитров

№5. вбДаНет

Эта константа отображает две кнопки «Да» и «Нет». Пользователь может нажать «Да», чтобы принять и продолжить, или «Нет», чтобы отклонить.

Под ДаНет()

MsgBox Prompt := «Теперь у вас есть две кнопки», _

Кнопки:=vbДаНет, _

Название: = «Почтовый ящик»

Окончание субтитров

№6. вбретриканцел

Теперь он показывает две кнопки: повторить и отменить. Вы можете использовать его, чтобы попросить пользователя повторить операцию или отменить ее.

Sub RetryCancel()MsgBox Prompt:=”Пожалуйста, повторите попытку”, _Buttons:=vbRetryCancel, _Title:=”MsgBox”End Sub

№7. vbReview

Эта константа отображает значок в окне сообщения, указывающий, что сообщение является критическим.

Подкритический()

MsgBox Prompt := «Это критично», _

Кнопки:=vbCritical, _

Название: = «Почтовый ящик»

Окончание субтитров

№8. vbQuestion

Эту константу можно использовать, задавая пользователю вопрос.

Подвопрос()

MsgBox Prompt := »Что теперь делать? », _

Кнопки:=vbQuestion, _

Название: = «Почтовый ящик»

Окончание субтитров

№9. vbВосклицание

Эта константа будет отображать значок восклицательного знака вместе с сообщением.

ПодВосклицание()

MsgBox Prompt := »Что теперь делать? », _

Кнопки:=vbExclamation, _

Название: = «Почтовый ящик»

Окончание субтитров

#десять. вбинформация

На нем отобразится значок, указывающий, что сообщение является информационным.

Sub Information () MsgBox Prompt: = «Что теперь делать?», _Buttons: = vbInformation, _Title: = «MsgBox» End Sub

№ 11. vbDefaultButton1

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

Sub DefaultButton1()MsgBox Prompt:=”Button1 is Highlighted?”, _Buttons:=vb YesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1, _Title:=”MsgBox”End Sub

№ 12. vbDefaultButton2

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

Sub DefaultButton2()MsgBox Prompt:=»Button2 выделен?», _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2, _Title:=»MsgBox»End Sub

№ 13. vbDefaultButton3

Используйте эту константу, чтобы указать третью кнопку в вашем msgbox как кнопку по умолчанию.

Sub DefaultButton3()MsgBox Prompt:=»Button3 выделен?», _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3, _Title:=»MsgBox»End Sub

№ 14. vbDefaultButton4

Используйте эту константу, чтобы указать четвертую кнопку в вашем окне сообщений как кнопку по умолчанию.

Sub DefaultButton4()MsgBox Prompt:=»Button4 выделен?», _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4, _Title:=»MsgBox»End Sub

№ 15. vbApplicationModal

Эта константа приостановит работу приложения (Excel). Чтобы использовать приложение, пользователь должен ответить на сообщение в окне сообщения.

Под OKOnly()

MsgBox Prompt := «Это MsgBox», _

Кнопки:=vbOKOnly, _

Название: = «Почтовый ящик», _

Окончание субтитров

№ 16. vbSystemModal

Эта константа приостановит все приложения в вашей операционной системе. Пользователь должен сначала ответить на окно сообщения.

Sub ApplicationModal()MsgBox Prompt := »Это модальное окно приложения», _Buttons :=vbOK + vbApplicationModal, _Title := »MsgBox »End Sub

№ 17. вбмсгбоксхелпбуттон

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

Sub HelpButton() MsgBox Prompt:=”Использовать кнопку справки”, _Buttons:=vbOK + vbMsgBoxHelpButton, _Title:=”MsgBox”, _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”, _Context:=101End Sub

Когда пользователь нажимает кнопку справки, появляется меню справки.

№ 18. вбмсгбокссетфореграунд

Эта константа поможет вам сделать окно вашего сообщения окном переднего плана.

Sub SetForeground()MsgBox Prompt:=”Этот MsgBox находится на переднем плане”, _Buttons:=vbOK + vbMsgBoxSetForeground, _Title:=”MsgBox”End Sub

№ 19. vbMsgBoxRight

Используя эту константу, текст будет выровнен по правому краю.

Под MsgBoxRight()

MsgBox Prompt := «Текст справа», _

Кнопки:=vbOK + vbMsgBoxRight, _

Название: = «Почтовый ящик»

Окончание субтитров

№ 20. вбмсгбоксртлчтение

Используя эту константу, окно сообщения перевернется вправо. Эта константа в первую очередь предназначена для еврейской и арабской систем.

Под MsgBoxRtlRead()

MsgBox Prompt := «Этот ящик перевернут», _

Кнопки:=vbOK + vbMsgBoxRtlRead, _

Название: = «Почтовый ящик»

Окончание субтитров

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

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

Постоянный
Ценить
Описание
вбоОК
1
ВСЕ В ПОРЯДКЕ
вбОтмена
2
Отмена
vbAbort
3
Аборт
vbПопробуй еще раз
4
Начать заново
vbSkip
5
игнорировать
vbДа
6
Да
вбНет
7
Нет

Реальные примеры использования функции окна сообщения VBA в Excel

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

№1. Выполнение макроса с помощью VBA MsgBox

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

Под СохранитьЭто()

Тусклый результат как целое число

Result = MsgBox(«Хотите сохранить этот файл?», vbOKCancel)

Если Результат = vbOK Тогда

ActiveWorkbook.Сохранить

Окончание субтитров

сохранить книгу с помощью vba msgbox

Вы можете попросить пользователя сохранить книгу, и если пользователь нажмет кнопку «ОК», код макроса сохранит книгу.

№2. Вставка таблицы в окно сообщения

Вы можете использовать vbTab для ввода табличных данных в окно сообщения. В этом примере таблица начинается с ячейки A1.

Под AddToMsgBox()

Уменьшить сообщение как строку

Dim r как int

Dim c как int

Dim rc как int

Dim cc как int

Затемнить myRows как диапазон

Затемнить мои столбцы как диапазон

Сообщение = «»

Установите myRows = Range(«A:A»)

Установите myColumns = Range («1:1»)

rc = Application.CountA(myRows)

cc = Application.CountA(myColumns)

Для r = 1 до rc Для c = 1 до cc

Сообщение = Сообщение и ячейки(r, c).Текст

Если c <= cc Тогда

Сообщение = Сообщение и vbTab

следующий cMsg = Сообщение & vbCrLf

Следующий р

MsgBox Сообщение

Окончание субтитров

№3. Показывать окно сообщения при открытии файла

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

Под auto_open()

MsgBox «Добро пожаловать в Exceladvisor и спасибо за загрузку этого файла» _

+ vbNewLine + vbNewLine + «Здесь вы найдете подробное объяснение функции MsgBox. » _

+ vbNewLine + vbNewLine + «И не забудьте посмотреть другие интересные вещи. »

Окончание субтитров

Вынос

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

Пример файла

Загрузите этот образец файла здесь , чтобы узнать о нем больше.

Заключение

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

И, как я уже сказал, если вы новичок в VBA, одно из лучших занятий — научиться использовать окно сообщений. Я надеюсь, что эта статья помогла вам приблизиться к своей мечте о освоении VBA, а теперь скажите мне одну вещь.

Считаете ли вы, что функция MsgBox — одна из самых крутых вещей в VBA?

Обязательно поделитесь со мной своим мнением в разделе комментариев, мне будет интересно услышать ваше мнение, и не забудьте поделиться этим советом со своими друзьями.

Узнайте больше о VBA

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

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