VBS中InputBox函数的返回值使用技巧
来源:易贤网 阅读:2175 次 日期:2016-07-07 14:21:57
温馨提示:易贤网小编为您整理了“VBS中InputBox函数的返回值使用技巧”,方便广大网友查阅!

如果用户单击确定或按下 ENTER,则 InputBox 函数返回文本框中的内容。如果用户单击取消,则函数返回一个零长度字符串 ("")。

这是参考手册对InputBox函数返回值的说明,简单而明了,还有必要专门写一篇文章来讨论?我知道你一定对标题不屑一顾,换成是我,我也一定会不屑一顾,如果我没有看到百度VBS吧里的一个帖子。

关于Inputbox 疑惑

————————————————————————————

如果用户单击确定或按下 ENTER,则 InputBox 函数返回文本框中的内容。如果用户单击取消,则函数返回一个零长度字符串 ("")。

————————————————————————————

那如何区分用户是没有输入字符按了“确定”

还是按了“取消”呢?

有些时候想传入空字符的,而有些时候想取消输入

按照参考手册的说法,无论是用户没有输入字符按了“确定”,还是按了“取消”,函数的返回值都是零长度字符串""。这样看来,似乎没有办法区分用户是没有输入字符按了“确定”,还是按了“取消”。

我也以为这是无法实现的,但是下面却有人给出了解决方案:

代码如下:

Str=InputBox("???")

If Str="wffheu" Then MsgBox("a")

Else if Str=False Then "您按。。。取消"

End If

虽然有语法错误,但是用False的确可以区分出“确定”和“取消”。为什么呢?因为如果用户单击取消,InputBox返回的并不是一个零长度的字符串"",而是Empty

用一个简单的程序就可以测试出来:

代码如下:

str = InputBox("Enter a string")

MsgBox TypeName(str)

当没有输入字符直接按“确定”时输出String,而按“取消”时输出Empty。于是,似乎可以这样来判断到底是“确定”还是“取消”:

代码如下:

str = InputBox("Enter a string")

If str = Empty Then

MsgBox "Cancel"

Else

MsgBox "OK"

End If

只可惜上面的代码是错的,无论按下“确定”还是“取消”,都会输出Cancel。因为无论是"" = Empty(比较前Empty会隐式转化成"")还是Empty = Empty都会返回真,正确的方法是用IsEmpty来判断:

代码如下:

str = InputBox("Enter a string")

If IsEmpty(str) Then

MsgBox "Cancel"

Else

MsgBox "OK"

End If

再说说为什么可以用False来判断,"" = False返回假(比较前False会隐式转换成字符串"False"),而Empty = False返回真,于是可以判断。

看来文档写的也不一定是对的,尽信文档,不如无文档。

更多信息请查看脚本栏目
易贤网手机网站地址:VBS中InputBox函数的返回值使用技巧
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标