Porady: tworzenie procedury (Visual Basic)
Należy ująć procedurę między instrukcją deklaracji początkowej (Sub
lub Function
) a końcową instrukcją deklaracji (End Sub
lub End Function
). Cały kod procedury znajduje się między tymi instrukcjami.
Procedura nie może zawierać innej procedury, więc jej instrukcje początkowe i końcowe muszą znajdować się poza inną procedurą.
Jeśli masz kod wykonujący to samo zadanie w różnych miejscach, możesz napisać zadanie raz jako procedurę, a następnie wywołać je z różnych miejsc w kodzie.
Aby utworzyć procedurę, która nie zwraca wartości
Poza inną procedurą
Sub
użyj instrukcji , a następnie instrukcjiEnd Sub
.W instrukcji
Sub
postępuj zgodnieSub
ze słowem kluczowym z nazwą procedury, a następnie listę parametrów w nawiasach.Umieść instrukcje kodu procedury między instrukcjami
Sub
iEnd Sub
.
Aby utworzyć procedurę zwracającą wartość
Poza inną procedurą
Function
użyj instrukcji , a następnie instrukcjiEnd Function
.W instrukcji
Function
postępuj zgodnieFunction
ze słowem kluczowym z nazwą procedury, a następnie listę parametrów w nawiasach, a następnie klauzulę określającąAs
typ danych zwracanej wartości.Umieść instrukcje kodu procedury między instrukcjami
Function
iEnd Function
.Return
Użyj instrukcji , aby zwrócić wartość do kodu wywołującego.
Aby połączyć nową procedurę ze starymi, powtarzalnymi blokami kodu
Upewnij się, że zdefiniowano nową procedurę w miejscu, w którym stary kod ma dostęp do tej procedury.
W starym, powtarzalnym bloku kodu zastąp instrukcje wykonujące powtarzające się zadanie pojedynczą instrukcją, która wywołuje procedurę
Sub
orFunction
.Jeśli procedura zwraca
Function
wartość, upewnij się, że instrukcja wywołująca wykonuje akcję z zwróconą wartością, taką jak przechowywanie jej w zmiennej lub inna wartość zostanie utracona.
Przykład
Poniższa Function
procedura oblicza najdłuższą stronę lub hipotenuse trójkąta prawego, biorąc pod uwagę wartości pozostałych dwóch stron:
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function