|
在VBA程序中,InputBox函数用于输入字符串,提供了一个文本框和确定、取消两个按钮,如果按 “确定” 则返回文本框内的内容,按 “取消” 则返回一个长度为零的字符串 (""),但是如果文本框内没有内容,“确定”是返回(""),“取消”也是返回(""),那么怎样在VBA中区分呢?
请看下面的这一段代码:
Private Sub Test()
Dim strTemp As String
strTemp = Application.InputBox("test", "提示 - http://www.excelba.com", "False")
If StrPtr(strTemp) = 0 Then
MsgBox "You'v pressed 取消"
Else
MsgBox "You'v pressed 确定"
End If
End Sub
那StrPtr何许人也,很可惜,VBA的帮助中竞找不到相关的帮助,于是就在网海里搜索:
StrPtr:返回真正的UNICODE字符串缓冲区的地址。也就是字符串变量在内存的地址!
StrPtr是唯一能直观地告诉你空字符串(点击确定时返回的值)和null字符串(点击取消时返回的值)的不同的方法。对于null字符串(vbNullString),StrPtr的返回值为0(因为变量中什么都没有),而对于空字符串,函数的返回值为非零(即字符串地址值)。
VBA中,我们还可以利用Application.InputBox来代替InputBox函数,但有了这个方法,你就可以区别上面的情况了!
转载请注明:本文来自:Excel吧 (www.excelba.com) 详细出处参考:http://www.excelba.com/Art/Html/326.html
中午无聊的时候浏览网页的时候看到的,或许你已知道,就当复习了吧
调用api的时候或许你会遇到它 |
|