如果条件不满足,退出/停止VBscript运行的代码是什么?

Che*_*ast 6 vbscript

我看过谷歌并且答案不存在!

首先要做的事情.WScript.Quit不工作!我不知道"WScript"是什么,但它显然与网页的客户端脚本无关.我以前在某个地方见过这个"WScript"的东西而且它只会产生错误(可能是过时的或者其他的东西)所以请不要建议它......

无论如何......我想做的就是在没有遇到条件的情况下完全停止脚本.显然我不想要"Exit Sub",因为如果嵌入了该子代码,代码将继续运行!

我知道"停止"命令,但我的印象是它只用于调试.

希望是一个非常简单的问题.

更新和结论:在我结束这个主题之前,我将稍微扩展一下我想要做的事情......

我有一些按钮点击启动的主要潜艇.为了使我不需要编辑每个单独的子,我在每个子中嵌入了一个通用子进行初步检查.

初步检查的一部分是在用户输入不正确的情况下停止程序.如果检测到错误,我想暂停此时的所有进度.一个"退出子"显然只会跳过该初步子的其余部分,主子将继续执行.

最后,它只是写入错误标志(在主要子系统中检查)或在每个主程序中包含错误条件操作的情况.以这种方式退出主要子,问题就解决了.

这不是懒惰 - 我只是想减少代码量.无论如何,谢谢你的回复.

小智 9

我发现如果使用wscript.exe或cscript.exe引擎运行.vbs/.vbe/.wsf脚本,WScript始终可用.当WScript不可用时,如果使用其他引擎运行.例如,在HTA,网页,VBA或托管COM脚本控件中运行VBScript.

要退出未从wscript.exe或cscript.exe运行的脚本,您可以执行以下操作:

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
Run Code Online (Sandbox Code Playgroud)


sha*_*jji 8

最简单的方法,我发现的是:WScript.Quit


小智 7

你可以使用这样的东西:

Sub MyFunc
    ----------
    My Code
    ----------
End Sub

Function Main
  On Error Resume Next
  MyFunc
  If Err.Number <> 0
  Exit Function
End Function
Run Code Online (Sandbox Code Playgroud)

它将停止执行代码,它发现异常或抛出错误.