我知道我昨天以某种方式工作了,但当天结束时我错误地关闭了更改而没有保存。今天我不知道我做错了什么。我有一个带有InputBox的循环,只想接受2个可能的答案,在这种情况下,apple或orange应该退出循环。
Do
myValue = InputBox("Enter something")
Loop While Not myValue = "apple" Or myValue = "orange"
如果输入第一个值但不输入第二个值,则上述操作仅退出循环。如果我为第二个值添加“Not”以及如下所示,那么无论我输入什么内容,它都不会退出循环。
Do
myValue = InputBox("Enter something")
Loop While Not myValue = "apple" Or Not myValue = "orange"
我知道这必须是显而易见的事情,但我想我已经看了很长时间才能看到相同的代码。感谢您的帮助。
答案 0 :(得分:1)
您可能需要and
...
Do
myValue = InputBox("Enter something")
Loop While Not myValue = "apple" And Not myValue = "orange"
不是ands而不是 令人困惑,但是如果你完成它,你就会弄清楚。输入示例:apple
NOT "apple" = "apple"
为FALSE
,NOT "apple" = "orange"
为TRUE
。如果您使用OR
,TRUE or FALSE
评估为TRUE
。因此循环继续。但是如果使用AND
,则整个语句的计算结果为FALSE
,这允许退出。
答案 1 :(得分:0)
为什么不将英文翻译成VBScript:
I want to ask the user until the input is "apple" or "orange"
==>
Dim sInp
Do
sInp = InputBox("Enter something")
WScript.Echo "+", sInp
Loop Until sInp = "apple" Or sInp = "orange"
WScript.Echo sInp
示例输出:
+ banana
+ apple
apple
=============
+ pear
+ orange
orange
=============