當(dāng)你顯示只有一個(gè)按鈕的信息框時(shí),可以點(diǎn)擊確定按鈕或者回車鍵將信息框從屏幕上移除,然而,當(dāng)信息框有兩個(gè)或以上的按鈕時(shí),你的程序需要知道按的是哪個(gè)按鈕。你可以將信息框結(jié)果儲(chǔ)存在一個(gè)變量上來(lái)實(shí)現(xiàn)。表4-2 顯示了MsgBox函數(shù)返回值。

表4-2 MsgBox函數(shù)返回值
MsgYesNo3過(guò)程是MsgYesNo2過(guò)程修改后的版本,示范如何確定用戶按下的是哪個(gè)按鈕:
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
在上面的過(guò)程里,你將MsgBox函數(shù)的結(jié)果賦給變量myChoice。注意,現(xiàn)在,MsgBox函數(shù)的參數(shù)列在括號(hào)里面:
myChoice = MsgBox(question, myButtons, myTitle)
當(dāng)你運(yùn)行MsgYesNo3時(shí),出現(xiàn)帶有兩個(gè)按鈕的信息框,當(dāng)你點(diǎn)擊“是”時(shí),MsgBoxmyChoice將顯示數(shù)字6;當(dāng)點(diǎn)擊“否”則得到數(shù)字7。你將在第五章里面學(xué)習(xí)如果讓程序根據(jù)按鈕的選擇進(jìn)行不同的任務(wù)。
技巧:函數(shù)——使用還是不使用括號(hào)?
當(dāng)你需要使用MsgBox函數(shù)返回的結(jié)果時(shí),需要使用括號(hào)將該函數(shù)的參數(shù)包括起來(lái)。不使用括號(hào),意味著你告訴VB你將忽略該函數(shù)的結(jié)果。當(dāng)MsgBox函數(shù)包含兩個(gè)或以上的按鈕時(shí),你很可能想要使用該函數(shù)的結(jié)果。
更多建議: