下面代碼,在subb里寫個什么代碼能讓suba停止執行,謝謝各位
Private Sub Command1_Click()
Call a
End Sub
Private Sub a()
Call b
MsgBox "a"
End Sub
Private Sub b()
MsgBox "b"
'在這里寫個什么代碼能讓sub a 里面的msgbox "a"不執行
End Sub
uj5u.com熱心網友回復:
方法1:主動報出一個例外來,讓程式中斷執行方法2:將b改為帶回傳值的function,在a中對b的結果進行判斷(推薦這種方法)
'方法一
Sub a()
Call b
MsgBox "a"
End Sub
Sub b()
MsgBox "b"
Err.Raise vbObjectError + 513, "break a", "跳過msgbox ""a"""
End Sub
'方法二
Sub a()
If b Then MsgBox "a"
End Sub
Function b() As Boolean
MsgBox "b"
b = MsgBox("繼續?", vbYesNo, "Input") = vbYes
End Function
uj5u.com熱心網友回復:
如果用樓上的“方法一”,應該在Sub a 中加入“例外捕獲”才更完善。

要不然:
1. 在IDE中會彈出錯誤提示并中斷執行;
并且“繼續執行”下去也不能直接跳過后面的代碼。
2. 更嚴重的問題是編譯后則在“錯誤提示”后強制結束程式。
我覺得在這種情況下,用方法二好些。
把“程序b”改為“函式b”,按b的回傳值來決定在a中的“后續流程”。
uj5u.com熱心網友回復:
用函式 吧,函式是參考執行完再進行參考程序的下一個陳述句轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/16851.html
標籤:VB基礎類
