当你显示只有一个按钮的信息框时,可以点击确定按钮或者回车键将信息框从屏幕上移除,然而,当信息框有两个或以上的按钮时,你的程序需要知道按的是哪个按钮。你可以将信息框结果储存在一个变量上来实现。表4-2 显示了MsgBox函数返回值。
表4-2 MsgBox函数返回值
MsgYesNo3过程是MsgYesNo2过程修改后的版本,示范如何确定用户按下的是哪个按钮:
Sub MsgYesNo3()
Dim question As String
Dim myButtons As Integer
Dim myTitle As String
Dim myChoice As Integer
question = "Do you want to open a new workbook?"
myButtons = vbYesNo + vbQuestion + vbDefaultButton2
myTitle = "New workbook"
myChoice = MsgBox(question, myButtons, myTitle)
MsgBox myChoice
End Sub
在上面的过程里,你将MsgBox函数的结果赋给变量myChoice。注意,现在,MsgBox函数的参数列在括号里面:
myChoice = MsgBox(question, myButtons, myTitle)
当你运行MsgYesNo3时,出现带有两个按钮的信息框,当你点击“是”时,MsgBoxmyChoice将显示数字6;当点击“否”则得到数字7。你将在第五章里面学习如果让程序根据按钮的选择进行不同的任务。
技巧:函数——使用还是不使用括号?
当你需要使用MsgBox函数返回的结果时,需要使用括号将该函数的参数包括起来。不使用括号,意味着你告诉VB你将忽略该函数的结果。当MsgBox函数包含两个或以上的按钮时,你很可能想要使用该函数的结果。