如何判断inputbox是按取消还是输入了一个空字符串

原文请参见:http://club.excelhome.net/thread-873348-1-1.html

我这里只是做个转载

常规情况下无法区分用户是点击了取消按钮还是用户未作任何输入直接点击了确定按钮---因为这两种情况下它都会返回一个空字符串

其实这里可以用 StrPtr 函数来判断,StrPtr在VBA帮助里查找不到,应该算一个隐藏的函数,它主要用来返回真正的UNICODE字符串缓冲区的地址,他还有另外一个作用,就是:
能直观地告诉你空字符串和null字符串的不同。对于null字符串(vbNullString),StrPtr的返回值为0,而对于空字符串,函数的返回值为非零。   

如以下代码,就能够判断出用户是点击了取消按钮还是用户未作任何输入直接点击了确定按钮

Sub Test()
    Dim xStr As String
    xStr = InputBox("InputBox 测试", "Mars Wang")
    If StrPtr(xStr) <> 0 Then
        MsgBox "用户点击了""确定""按钮!!!!!"
    Else
        MsgBox "用户点击了""取消""按钮或者直接关闭了对话框!!!!!"
    End If
End Sub


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值