vba-msgbox用法详解

自己对MsgBox 函数的整理,可直接看实例更有用

在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。

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

先放官方描述,后面有对应实例,实例全是干货,可直接看实例

部分

描述

Prompt

必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。

Buttons

可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。

Title

可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。

Helpfile

可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context

Context

可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile

 

buttons 参数常用设置值:

常数

描述

vbOKOnly

0

只显示 OK 按钮。

VbOKCancel

1

显示 OKCancel 按钮。

VbAbortRetryIgnore

2

显示 AbortRetryIgnore 按钮。

VbYesNoCancel

3

显示 YesNoCancel 按钮。

VbYesNo

4

显示 YesNo 按钮。

VbRetryCancel

5

显示 RetryCancel 按钮。

VbCritical

16

显示 Critical Message 图标。

VbQuestion

32

显示 Warning Query 图标。

VbExclamation

48

显示 Warning Message 图标。

VbInformation

64

显示 Information Message 图标。

 

返回值

常数

描述

vbOK

1

OK

vbCancel

2

Cancel

vbAbort

3

Abort

vbRetry

4

Retry

vbIgnore

5

Ignore

vbYes

6

Yes

vbNo

7

No

         

 

 

 

在提供了 helpfilecontext 的时候,用户可以按 F1(Windows) or HELP (Macintosh) 来查看与 context 相应的帮助主题。像 Microsoft Excel 这样一些主应用程序也会在对话框中自动添加一个 Help 按钮。

如果对话框显示 Cancel 按钮,则按下 ESC 键与单击 Cancel 按钮的效果相同。如果对话框中有 Help 按钮,则对话框中提供有上下文相关的帮助。但是,直到其它按钮中有一个被单击之前,都不会返回任何值。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 MsgBox。为了省略某些位置参数,必须加入相应的逗号分界符。

实例

  1. 最简单的输出,只有一个确定按钮,一般代码调试时用的多

MsgBox "最简单的输出,只有一个确定按钮" & Chr(10) & "还可以换行"

vba-msgbox用法详解

vba-msgbox用法详解

 

2.  添加标题,只有一个确定按钮

MsgBox "最简单的输出,只有一个确定按钮" & Chr(10) & "还可以换行"

vba-msgbox用法详解

 

3.  添加一个确定按钮和一个取消按钮,分别对应不同的操作

vba-msgbox用法详解

若选择确定,则弹出

vba-msgbox用法详解

若选择取消,则弹出

vba-msgbox用法详解

有了这个可以针对点击的按钮进行对应的操作,本人一直用作保护代码,防止误操作,也是本人使用最多的一个。

4.  其余的buttons设置值的用法与3基本一致

有三个选项的用法

vba-msgbox用法详解

若选择是,则弹出

vba-msgbox用法详解

 

若选择否,则弹出

vba-msgbox用法详解

 

若选择取消,则弹出

vba-msgbox用法详解

可以看出,buttons设置值不同,和返回值的不同,来进入下一步的操作,当然也可用select case来进入不同的分支

 

其他情况本人使用较少,可根据此教程自行研究,原理都一样,设置不同的buttons值,根据不同的返回值来进行下一步的操作。

本文为本人原创(vba_cpp),转载请注明,欢迎关注收藏,上期更新的字符串函数,下期更新关于时间的函数