Instrukcja On...GoSub;Instrukcja On...GoTo
Rozgałęzia wykonywanie programu na kilka określonych linii kodu w zależności od wartości wyrażenia numerycznego.
Składnia:
On N GoSub etykieta1[, etykieta2[, etykieta3[,...]]]
On wyrażenie_numeryczne GoTo etykieta1[, etykieta2[, etykieta3[,...]]]
Parametry:
Wyrażenie_numeryczne: Dowolne wyrażenie numeryczne w zakresie od 0 do 255 określające, do której linii nastąpi przeskok podczas wykonywania programu. Jeśli parametr wyrażenie_numeryczne ma wartość 0, instrukcja nie jest wykonywana. Jeśli parametr wyrażenie_numeryczne jest większe niż 0, program wykonuje skok do etykiety o numerze równym wyrażeniu (1 = pierwsza etykieta; 2 = druga etykieta)
Etykieta: Linia docelowa odpowiadająca strukturze GoTo lub GoSub.
Poprawne są wszystkie konwencje instrukcji GoTo i GoSub .
Przykład:
Sub ExampleOnGosub
Dim iVar As Integer
Dim sVar As String
iVar = 2
sVar =""
On iVar GoSub Sub1, Sub2
On iVar GoTo Line1, Line2
Exit Sub
Sub1:
sVar =sVar & " From Sub 1 to" : Return
Sub2:
sVar =sVar & " From Sub 2 to" : Return
Line1:
sVar =sVar & " Label 1" : GoTo Ende
Line2:
sVar =sVar & " Label 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub