Vba MsgBox中第二个指定按钮的作用是什么?

Vba MsgBox中第二个指定按钮的作用是什么?,vba,excel,Vba,Excel,当我在Chandoo的优秀网站上查看代码示例时,我在他的网站上发现了以下内容: 我从未见过指定了两个按钮选项的messagebox。我一直在玩弄它,但不明白+vbOKOnly有什么好处。它是否存在似乎没有什么区别 有谁能告诉我这样指定两种按钮类型有什么好处,或者为什么在示例中使用它?vbCritical指的是msgbox上显示的图标,而vbOKOnly指的是仅显示OK按钮选项 有关一些示例,请参见此处: 这里还有更多信息:可以使用MsgBox命令显示各种不同的消息,包括(但不限于)以下类型:是/

当我在Chandoo的优秀网站上查看代码示例时,我在他的网站上发现了以下内容:

我从未见过指定了两个按钮选项的messagebox。我一直在玩弄它,但不明白
+vbOKOnly
有什么好处。它是否存在似乎没有什么区别


有谁能告诉我这样指定两种按钮类型有什么好处,或者为什么在示例中使用它?

vbCritical指的是msgbox上显示的图标,而vbOKOnly指的是仅显示OK按钮选项

有关一些示例,请参见此处:


这里还有更多信息:

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

因此,可以在一定程度上定制
MsgBox
。为了做到这一点,微软正在使用二进制编码

本质上,您只需一个
OK
按钮即可显示(如示例代码所示)一条关键错误消息来确认这一点。为了实现这一点,您可以添加希望消息包含的所有选项

如图所示,关键消息框的选项为16,而仅包含
OK
按钮的选项为0。因为,16+0=16你是对的,两者之间没有区别。原因是,默认情况下,任何消息框都只带有
OK
按钮。因此,它被指定为0值。但是,如果您希望消息框附带一个
OK
按钮和一个
Cancel
按钮,那么该值将为1,选项将累加到16+1=17或
vbOKCancel+vbCritical
(两者都应该可以工作)


然后用两个按钮会出现严重错误。

尽管我刚刚注意到vbCritical默认会有一个OK按钮。我猜Chandoo不会把任何事情留给偶然。谢谢你提供关于这个话题的有用链接!我自己在谷歌上找不到任何东西。。。可能是因为关键词错误。谢谢您的详细解释。这有帮助!
MsgBox "I was not able to find any unique Products.", vbCritical + vbOKOnly
MsgBox "I was not able to find any unique Products.", vbCritical + vbOKCancel
MsgBox "I was not able to find any unique Products.", 17