Ajuda do LibreOffice 26.2
Ramifica até uma das várias linhas especificadas no código do programa, dependendo do valor de uma expressão numérica.
Na expressão GoSub Label1[, Label2[, Label3[,...]]]
Na expressão GoTo Label1[, Label2[, Label3[,...]]]
expression: Qualquer expressão numérica entre 0 e 255 que determina para qual das linhas o programa se ramifica. Se expresion for 0, a instrução não é executada. Se expression for maior que 0, o programa salta para o rótulo cujo número de posição corresponde à expressão (1 = primeiro rótulo; 2 = segundo rótulo)
label: Linha de destino de acordo com a estrutura GoTo ou GoSub.
As convenções GoTo ou GoSub são válidas.
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 & " Etiqueta 1" : GoTo Ende
Line2:
sVar =sVar & " Etiqueta 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub