如何处理VBScript中的验证错误?
如何处理vbscript中字符串的验证错误? 我不明白为什么如果我输入字母,我的代码不会返回循环
Dim mark
Dim ask
mark = Chr(10) & " " & Chr(149) & " "
Do
ask = InputBox("Select:" & Chr(10) & mark & "1) First" & mark & "2) Second" & mark & "3) All" & Chr(10), "Select a option")
If IsEmpty(ask) Then WScript.Quit 'Read if canceled
If IsNumeric(ask) and CStr(CLng(ask)) = ask and ask => 1 and ask <= 3 Then Exit Do
MsgBox "Choice a valid value", 48, "Ops..."
Loop
How to handle validation errors to string in vbscript?
I don't understand why if I type a letter my code doesn't return to the loop
Dim mark
Dim ask
mark = Chr(10) & " " & Chr(149) & " "
Do
ask = InputBox("Select:" & Chr(10) & mark & "1) First" & mark & "2) Second" & mark & "3) All" & Chr(10), "Select a option")
If IsEmpty(ask) Then WScript.Quit 'Read if canceled
If IsNumeric(ask) and CStr(CLng(ask)) = ask and ask => 1 and ask <= 3 Then Exit Do
MsgBox "Choice a valid value", 48, "Ops..."
Loop
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果是字符,则您的
如果
语句将生成错误,因为您正在转换ask
(在这种情况下是字符串)到长(clng(
clng)(问)
)。您应该检查ask
是数字,然后在另一个语句中检查值:In case of a character, your
If
statement will generate an error because you are convertingask
(which is a String in this scenario) to a Long (CLng(ask)
). You should check ifask
is numeric and then, in another statement, check the value: