我在Chandoo的优秀网站上查看了一个代码示例,当我在他的post about using SQL in Excel中看到它时:
MsgBox "I was not able to find any unique Products.", vbCritical + vbOKOnly
我从未见过指定了两个按钮选项的消息框。我一直在玩它,但不明白+ vbOKOnly
有什么好处。它是否存在似乎没有任何区别。
有人能告诉我,这样指定的两种按钮类型有什么用处或为什么在示例中使用它?
答案 0 :(得分:2)
MsgBox
命令可用于显示各种不同的消息,包括(但不限于)以下类型:是/否,确定,重试等。
因此,MsgBox
可以在某种程度上进行定制。为了允许Microsoft使用二进制编码as outlined on their website。
本质上,您只需一个OK
按钮即可显示(如示例代码所示)一条严重错误消息,以确认这一点。为了实现此目的,您可以添加要包含消息的所有选项。
如图on Microsoft's website所示,关键消息框的选项为16,而仅包含OK
按钮的选项为0.因为,16 + 0 = 16,你是对的,没有区别两者之间。原因是 - 默认情况下 - 任何消息框仅带有OK
按钮。因此它被赋予了0值。但是,如果您希望消息框带有OK
按钮和Cancel
按钮,则值将为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
然后,您可以通过两个按钮获得严重错误。
答案 1 :(得分:1)
vbCritical是指msgbox上显示的图标,而vbOKOnly仅指显示“确定”按钮选项。
请参阅此处了解一些示例:http://www.exceltrick.com/formulas_macros/vba-msgbox/
甚至更多:http://analysistabs.com/vba/msgbox-examples-macros/#bm7