MsgBox中第二个指定的button是做什么的?

我在Chandoo的优秀网站上看到一个关于在Excel中使用SQL的post时遇到了这个代码示例:

MsgBox "I was not able to find any unique Products.", vbCritical + vbOKOnly 

我从来没有见过指定了两个button选项的消息框。 我一直在玩它,但不明白什么+ vbOKOnly是好的。 无论是否存在,似乎都没有区别。

任何人都可以告诉我什么有这样的指定两个buttontypes是好的或为什么它在例子中使用?

MsgBox命令可用于显示各种不同的消息,包括(但不限于)以下types:是/否,确定,重试等

所以, MsgBox可以在一定程度上进行自定义。 为了允许Microsoft使用他们网站上列出的二进制编码。

其实质是,您可以只显示一个OKbutton来显示(如示例代码所示)一个严重的错误消息,以确认这一点。 为了达到这个目的,你可以添加你希望消息包含的所有选项。

如微软网站所示,关键消息框的选项是16,而只包含一个OKbutton的选项是0.因为,16 + 0 = 16你是对的,两者之间没有区别。 原因是 – 默认情况下 – 任何消息框只有一个OKbutton。 因此它被分配了0值。 然而,如果你想让你的消息框带有一个OKbutton和一个Cancelbutton,那么这个值就是1,这个选项会累加到16 + 1 = 17或者vbOKCancel + vbCritical (这两个都可以)。

 MsgBox "I was not able to find any unique Products.", vbCritical + vbOKCancel 

要么

 MsgBox "I was not able to find any unique Products.", 17 

然后,你会有两个button,而不是一个严重的错误。

vbCritical是指msgbox上显示的图标,而vbOKOnly是指只显示OKbutton选项。

看到这里的一些例子: http : //www.exceltrick.com/formulas_macros/vba-msgbox/

甚至更多: http : //analysistabs.com/vba/msgbox-examples-macros/#bm7