0

我知道我昨天以某种方式进行了这项工作,但一天结束时我错误地关闭了更改而没有保存。今天我不知道我做错了什么。我有一个 InputBox 循环,只想接受 2 个可能的答案,在这种情况下,苹果或橙色应该退出循环。

    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"

我知道这必须是显而易见的,但我认为我已经看同样的代码太久了,看不到它。感谢您的任何帮助。

4

2 回答 2

1

你可能想要一个and...

Do
myValue = InputBox("Enter something")
Loop While Not myValue = "apple" And Not myValue = "orange"

Not ands 和 Not ors令人困惑,但如果你解决它,你会弄明白的。示例输入:苹果

NOT "apple" = "apple"FALSE,并且NOT "apple" = "orange"TRUE。如果您使用OR,TRUE or FALSE计算结果为TRUE。因此循环继续。但是,如果您使用AND,则整个语句的计算结果为FALSE,这允许退出。

于 2012-11-21T19:00:40.417 回答
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
=============
于 2012-11-21T19:16:33.640 回答