Какой код для выхода / остановки работы VBscript в случае невыполнения условия?

Я посмотрел в Google, но ответа нет!

Перво-наперво. WScript.Quit 9X_vbscript НЕ РАБОТАЕТ! Я понятия не имею, что такое 9X_vbs «WScript», но он явно не имеет ничего общего 9X_vbs со сценарием на стороне клиента для веб-страницы. Я 9X_vbs уже где-то видел этот "WScript", и он просто 9X_vbs вызывает ошибки (может быть, устаревший 9X_vbs или что-то в этом роде), поэтому, пожалуйста, не 9X_vbs предлагайте его ...

В любом случае ... все, что 9X_vbscript я хочу сделать, это полностью остановить 9X_vbscript скрипт в случае невыполнения условия. Очевидно, я 9X_vbs не хочу "Exit Sub", потому что код продолжит 9X_vbs работу, если этот sub будет встроен!

Мне 9X_vbscript известна команда "стоп", но у меня сложилось 9X_vbscript впечатление, что она используется только 9X_vbs для отладки.

Надеюсь, это очень простой вопрос.

ОБНОВЛЕНИЕ 9X_vbs и заключение: прежде чем закрыть эту тему, я 9X_vbs просто немного расскажу о том, что я пытался 9X_vbs сделать ...

У меня было несколько основных 9X_vbs подпрограмм, которые запускались нажатием 9X_vbs кнопки. Чтобы сделать так, чтобы мне не 9X_vbs приходилось редактировать каждую отдельную 9X_vbs подпрограмму, я встроил универсальную подпрограмму 9X_vbs в каждую, которая выполняла предварительную 9X_vbscript проверку.

Частью этой предварительной проверки 9X_vbs была остановка программы в случае неправильного 9X_vbs ввода данных пользователем. Если была обнаружена 9X_vbs ошибка, я хотел остановить весь прогресс 9X_vbscript с этого момента. Очевидно, что «выходная 9X_vbscript подпрограмма» просто пропустит оставшуюся 9X_vbs часть этой предварительной подпрограммы, и 9X_vbs основная подпрограмма продолжит выполнение.

В 9X_vbscript конце концов, это был просто случай записи 9X_vbscript флага ошибки (который проверяется в основных 9X_vbscript подпрограммах) или включения операции условия 9X_vbscript ошибки в каждую главную процедуру. Таким 9X_vbscript образом, вы выйдете из основного подменю, и 9X_vbs проблема будет решена.

Не было лени - просто 9X_vbs хотелось сократить объем кода. В любом случае 9X_vbs спасибо за ответы.

8
2

  • Хорошо - возможно, я был немного не в курсе, что не узнал, что такое «WScript» (теперь я знаю, что это означает Windows-скрипт), но в любом случае это не работает. Это просто выдаст ошибку, говорящ ...
4
Общее количество ответов: 4

Ответ #1

Ответ на вопрос: Какой код для выхода / остановки работы VBscript в случае невыполнения условия?

Я обнаружил, что WScript всегда доступен 9X_vbs при запуске сценария .vbs / .vbe / .wsf 9X_vbscript с использованием механизма wscript.exe или 9X_vbs cscript.exe. Когда WScript недоступен, это 9X_vbs при работе с другим движком. Например. запуск 9X_vbscript сценария VBScript в HTA, веб-странице, в 9X_vbs VBA или из размещенного элемента управления 9X_vbs сценарием COM.

Чтобы выйти из запущенного 9X_vbs сценария из wscript.exe или cscript.exe, вы 9X_vbscript можете сделать что-то вроде следующего:

main Sub main ' execute code here ' oops a confition is not met: If Not condition then Exit Sub ' more code to execute if condition was met End Sub 

10
0

Ответ #2

Ответ на вопрос: Какой код для выхода / остановки работы VBscript в случае невыполнения условия?

Вы можете использовать что-то вроде этого:

Sub MyFunc ---------- My Code ---------- End Sub Function Main On Error Resume Next MyFunc If Err.Number <> 0 Exit Function End Function 

Он 9X_vbs прекратит выполнение кода, если обнаружит 9X_vbscript исключение или выдаст ошибку.

7
0

Ответ #3

Ответ на вопрос: Какой код для выхода / остановки работы VBscript в случае невыполнения условия?

Объект Wscript доступен только в том случае, если вы работаете на хосте сценариев Windows (wscript.exe, cscript.exe). НЕ Internet Explorer (iexplorer.exe, mshta.exe)

Что ж, простой способ сделать это - объявить 9X_vbs глобальную переменную, для которой установлено 9X_vbs значение false до тех пор, пока не возникнет 9X_vbscript ошибка, и если ошибка произойдет, эта переменная 9X_vbscript будет установлена ​​в значение true, после 9X_vbs этого в любое время, когда эта переменная 9X_vbs будет проверена, вы можете выйти. sub \ function 9X_vbs \ for \ do \ что угодно.

Пример:

Dim ErrorOccured On Error Resume Next ErrorOccured=False Sub Main() If ErrorOccured Then Exit Sub 'some code MsgBox "Main has run" End Sub Sub MakeAnError If ErrorOccured Then Exit Sub 'some code Err.Raise 2 If Err Then ErrorOccured=True End Sub Function TellMeRandom If ErrorOccured Then Exit Function 'some code Randomize TellMeRandom =Int((100- 1+ 1) * Rnd + 1)*1 End Function Function ResetError ErrorOccured=False End Function Call Main 'Main will run because an error has not occured (ErrorOccured is False) MsgBox TellMeRandom 'This will return a random number 1-100 Call MakeAnError 'This will set the Global ErrorOccured to true MsgBox TellMeRandom 'This will be blank because the ErrorOccured prevented it from running Call Main 'This will not run because the ErrorOccured prevented it from running Call ResetError 'This will set the Global ErrorOccured to false Call Main 'This will run because ErrorOccured is back to False MsgBox TellMeRandom 'This will return a random number 1-100 because ErrorOccured is back to false 

Просто не 9X_vbs забудьте добавить If ErrorOccured then Exit Sub для подпрограммы или 9X_vbscript If ErrorOccured then Exit Function для функции.

3
0

Ответ #4

Ответ на вопрос: Какой код для выхода / остановки работы VBscript в случае невыполнения условия?

Самый простой способ, который я нашел: WScript.Quit

9X_vbs

3
0