codecamp

MsgBox函数的运行值

当你显示只有一个按钮的信息框时,可以点击确定按钮或者回车键将信息框从屏幕上移除,然而,当信息框有两个或以上的按钮时,你的程序需要知道按的是哪个按钮。你可以将信息框结果储存在一个变量上来实现。表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函数包含两个或以上的按钮时,你很可能想要使用该函数的结果。

VBA定位内置函数
VBA InputBox函数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }