VB中使用inputbox函数后 在对话框点取消按钮报错该如何解决?

我希望在我点取消的时候,对话框尽量不要消失,然后输入光标重新定位到一开始输入的位置。... 我希望在我点取消的时候,对话框尽量不要消失,然后输入光标重新定位到一开始输入的位置。 展开
 我来答
boyayes
2022-06-16 · TA获得超过4517个赞
知道大有可为答主
回答量:4231
采纳率:75%
帮助的人:1029万
展开全部

啊,你的意思是,当点击取消按钮、或者是那个叉号按钮时,就重新打开这个对话框呗。

那就不要把InputBox的返回值直接赋值给整数变量x

因为InputBox的返回值是字符串型,即文本型,

所以你要先把InputBox的值赋值给文本型变量,

然后用StrPtr函数转化一下,

如果用StrPtr函数转化后的值为0,说明点了取消或叉号,

如果用StrPtr函数转化后的值大于0,说明点了确定按钮,

Sub test()

    Dim s$, x%

    Do

        s = InputBox("请输入X的值")

    Loop Until StrPtr(s) '如果点的是确定则终止循环

    '当循环终止后,进行如下处理:

x = Val(s) '将文本s转化为数值赋值给x

    Select Case x '用select语句Select判断x的值

    Case Is < 0

        MsgBox "你输入了小于0的整数", 64

    Case Is < 100

        MsgBox "你输入了大于等于0且小于100的整数", 64

    Case Is < 300

        MsgBox "你输入了大于等于100且小于300的整数", 64

    Case Else

        MsgBox "你输入了大于等于300的整数", 64

    End Select

End Sub

更多追问追答
追问
大神~那如果我想让对话框消失,但 不弹错 该怎么办呢?
追答
没听懂你说的 不弹错 是啥意思。说清楚点,不怕字多,就怕说不明白哦
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式