用一个简单的程序就可以测试出来: 复制代码 代码如下: 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