officeba > 单独文章


妙用StrPtr判断InputBox函数

请看下面的这一段代码:

首先OFFICEBA给大家看一段程序:

Private Sub good()
    Dim strTemp As String
    strTemp = Application.InputBox("test", "OFFICEBA温馨提示 - https://www.officeba.com.cn/", "False")
    If StrPtr(strTemp) = 0 Then
        MsgBox "取消"
    Else
        MsgBox "确定"
    End If
End Sub
有看到StrPtr(strTemp)这个吧。这里的StrPtr是什么呢。StrPtr:返回真正的UNICODE字符串缓冲区的地址。也就是字符串变量在内存的地址!
StrPtr是唯一能直观地告诉你空字符串(点击确定时返回的值)和null字符串(点击取消时返回的值)的不同的方法。对于null字符串(vbNullString),StrPtr的返回值为0(因为变量中什么都没有),而对于空字符串,函数的返回值为非零(即字符串地址值)。
VBA中,我们还可以利用Application.InputBox来代替InputBox函数,但有了这个方法,你就可以区别上面的情况了!
在VBA程序中,InputBox函数用于输入字符串,提供了一个文本框和确定、取消两个按钮,如果按 “确定” 则返回文本框内的内容,按 “取消” 则返回一个长度为零的字符串 (""),但是如果文本框内没有内容,“确定”是返回(""),“取消”也是返回(""),那么怎样在VBA中区分呢?

声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2009-02-18 15:48:39,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容