Я пытаюсь получить цикл Do Until для работы в VBS. Я запрашиваю у пользователя число, а затем хочу, чтобы сценарий выполнял до тех пор, пока счетчик не будет равен числу введенного пользователем.Do Do not count using Inputbox никогда не заканчивается
number = InputBox("number")
count = 1
Do Until count = number
Wscript.Echo "count: " & count & VbCrLf &_
"number: " & number
count = count + 1
Loop
Wscript.Echo "Done." & VbCrLf &_
"count: " & count & VbCrLf &_
"number: " & number
Когда я запускаю это, он продолжает петлю на неопределенный срок, а не останавливаясь после подсчета равно количеству введенного пользователем. Если я не могу запросить его, я не могу его запрограммировать, но не тогда, когда пользователь вводит номер.
Может кто-нибудь указать, почему это происходит и как я могу это исправить?
Оба этих ответа (JosefZ и Matt) полезны, особенно указывая, что вход пользователя рассматривается как строка вместо целого. Я подумал об этом, но когда я включил 'IsNumeric' в оператор Wscript.Echo раньше, он вернулся как True. Теперь я понимаю, что IsNumeric не означает Integer. Меня также смутил тот факт, что в моих экспериментах, используя 'For ... Next', вместо' Do ... Loop' работал. Во всяком случае, я изменил свой код на предложение JosefZ, и он отлично работает. Благодаря! – Jono