Postupy: Vytvoření procedury (Visual Basic)
Proceduru uzavřete mezi příkazem počáteční deklarace (Sub
nebo Function
) a koncovým příkazem deklarace (End Sub
nebo End Function
). Veškerý kód procedury leží mezi těmito příkazy.
Procedura nemůže obsahovat jinou proceduru, takže její počáteční a koncové příkazy musí být mimo jakoukoli jinou proceduru.
Pokud máte kód, který provádí stejný úkol na různých místech, můžete úkol napsat jednou jako proceduru a pak ho volat z různých míst v kódu.
Vytvoření procedury, která nevrací hodnotu
Mimo jakoukoli jinou proceduru
Sub
použijte příkaz následovaný příkazemEnd Sub
.Sub
V příkazu postupujte podle klíčovéhoSub
slova s názvem procedury a pak seznam parametrů v závorkách.Umístěte příkazy kódu procedury mezi
Sub
příkazy aEnd Sub
příkazy.
Vytvoření procedury, která vrací hodnotu
Mimo jakoukoli jinou proceduru
Function
použijte příkaz následovaný příkazemEnd Function
.Function
V příkazu postupujte podleFunction
klíčového slova s názvem procedury, pak seznam parametrů v závorkách a potomAs
klauzuli určující datový typ návratové hodnoty.Umístěte příkazy kódu procedury mezi
Function
příkazy aEnd Function
příkazy.Return
Pomocí příkazu vrátíte hodnotu volajícímu kódu.
Propojení nového postupu se starými opakujícími se bloky kódu
Nezapomeňte definovat nový postup na místě, kde k němu má starý kód přístup.
Ve starém opakujícím se bloku kódu nahraďte příkazy, které provádějí opakující se úlohu jediným příkazem, který volá nebo
Function
proceduruSub
.Pokud je
Function
vaším postupem vrácená hodnota, ujistěte se, že volající příkaz provede akci s vrácenou hodnotou, jako je uložení do proměnné nebo jinak hodnota bude ztracena.
Příklad
Následující Function
postup vypočítá nejdelší stranu nebo hypotenuse pravého trojúhelníku vzhledem k hodnotám pro ostatní dvě strany:
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function