Pomoc Collabora Office 24.04
Wywołuje podprogram, który jest wskazany przez etykietę wewnątrz Sub lub Function. Instrukcje następujące po etykiecie są wykonywane do następnej instrukcji Return. Następnie program kontynuuje wykonywanie instrukcji następującej po instrukcji GoSub.
GoSub label[:]
label: Identyfikator wiersza wskazujący, gdzie kontynuować wykonywanie. Zakres etykiety w zakresie procedury, do której należy.
Instrukcja GoSub wywołuje lokalny podprogram wskazany przez etykietę z podprogramu lub funkcji. Nazwa etykiety musi kończyć się dwukropkiem (":").
Sub/Function foo
' instrukcje
GoSub label
' instrukcje
Exit Sub/Function
label:
' instrukcje
Return
End Sub/Function
Jeśli program napotka instrukcję Return, która nie była poprzedzona instrukcją GoSub, Collabora Office zwraca komunikat o błędzie. W celu upewnienia się, że program opuści procedurę (Sub) lub funkcję (Function), zanim napotka następną instrukcję Return, należy użyć instrukcji Exit Sub lub Exit Function.
Poniższy przykład przedstawia użycie instrukcji GoSub i Return. Dwukrotne uruchomienie sekcji programu powoduje obliczenie pierwiastka kwadratowego dwóch liczb wprowadzonych przez użytkownika.
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iInputa = Int(InputBox("Wprowadź pierwszą liczbę: ","Wprowadzenie liczby"))
iInputb = Int(InputBox("Wprowadź drugą liczbę: ","Wprowadzenie liczby"))
iInputc=iInputa
GoSub SquareRoot
Print "Pierwiastek kwadratowy z ";iInputa;" wynosi ";iInputc
iInputc=iInputb
GoSub SquareRoot
Print "Pierwiastek kwadratowy z ";iInputb;" wynosi ";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub