Visual Basic:跳转到子程序,但不运行代码
在下面的代码中,我希望在运行sub code()
时,并且condition
等于false
,那么它将结束子test()
,不显示消息"hello"
并停止所有脚本。有人能告诉我该怎么做吗?Visual Basic:跳转到子程序,但不运行代码
Private Sub test()
Call code
MsgBox ("Hello")
End Sub
Private Sub code()
If Condition = False Then
End If
MsgBox ("Hello World")
End Sub
你想要做的就是使用Return
或Exit Sub
以下列方式什么后:
If condition = false Then
Call condition()
Return
End If
https://msdn.microsoft.com/en-us/library/dz1z94ha.aspx告诉你
当Sub过程返回到调用代码时,执行继续执行调用它的语句后面的语句。 以下示例显示了从Sub过程返回的内容。
Sub mySub(ByVal q As String) Return End Sub
的
Exit Sub
和Return
语句引起从Sub过程中立即退出。任何数量的Exit Sub和Return语句都可以出现在过程中的任何位置,并且可以混合使用Exit Sub和Return语句。
为了突破调用子,内部子必须返回一个值,告诉调用子不应该打印,没有内置的方式。
'Exit Sub'和'Return'不会阻止消息“hello”,按要求。 – omegastripes
@omegastripes它会为原来的问题。 – luk2302
把一个
Exit Sub
将呼叫状态()
您需要使用,如果再别的
Private Sub code()
If condition = false Then
Call condition()
else
MsgBox("Hello World")
End If
End Sub
Private Sub condition()
MsgBox("Failure")
End Sub
使用End
关键字:
Const Condition = False
Private Sub test()
Call code
MsgBox ("Hello")
End Sub
Private Sub code()
If Condition = False Then
End
End If
MsgBox ("Hello World")
End Sub
的'呼叫状态后添加一个'Return'()'!? – luk2302
我重新解释了这个问题。不便之处@ luk2302 –