Я пытаюсь воссоздать простую программу, которую я сделал один раз в Python в VBScript, чтобы запустить ее в диалоговом окне.Если инструкция для петли функции некорректна
Это код:
Set objShell = CreateObject("Wscript.Shell")
Function Query()
query = InputBox("Please input the Subreddit you with to navigate to e.g (globaloffensive)", "iixCarbonxZz's Subreddit Finder")
End Function
Do
If query = "" Then
err = MsgBox("Please enter a Valid Subreddit", vbOKOnly + vbExclamation, "Invalid")
Else
objShell.Run("http://www.reddit.com/r/" & query)
WScript.Quit()
End If
Query()
Loop
Моя проблема заключается в следующем:
Код открывает текстовое поле ввода, и если нет ничего в текстовом поле при нажатии на кнопку OK она должна принести вверх в поле сообщения об ошибке «err», а затем цикл. Если он получает что-то в поле ввода, он должен использовать его, а затем закрыть скрипт.
На практике, если я оставляю поле пустым, оно отображает сообщение, возвращается обратно в поле ввода, но затем, если пустой пробел снова пропускает оператор if и просто перезагружает поле ввода. Если что-то вводится, что оно может использовать, оно пропускает оператор if и перезагружает поле в первый раз, а затем запускается и закрывается во второй раз. Если до этого был отправлен пробел, он будет пропустить инструкцию if еще раз, прежде чем правильно использовать вход.
Это работало отлично. Благодарю за ваш ответ. Это очень ценится. – iixCarbonxZz
@iixCarbonxZz Кроме того, ['Err'] (https://msdn.microsoft.com/en-us/library/sbf5ze0e%28v=vs.84%29) является встроенным объектом. Не используйте его как идентификатор. –
@AnsgarWiechers Спасибо, что указали это, я изменю его, чтобы избежать каких-либо проблем. Оценил. – iixCarbonxZz