Excel实例下载
  VBA  应用教程
    数据库SQL知识
设为首页
StrPtr的妙用之判断InputBox函数是按了确定还是取消
作者:网络 | 来源:网络转摘 | 时间:2009-02-17 | 阅读权限:游客 | 会员币:0 | 【

在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函数,但有了这个方法,你就可以区别上面的情况了!

文章录入:admin | 浏览次数:
相关评论(以下网友评论只代表其个人观点,不代表Excel吧的观点或立场)
相关信息

关于本站 | 留言本站 | 友情连接 | 后台管理
Copyright © 2005 - 2008 Excel吧 Inc. All Rights Reserved.
HxCms Ver9.0  闽ICP备06001689号
关闭此窗口