Megosztás a következőn keresztül:


Alműveletek (Visual Basic)

A Sub eljárás egy Visual Basic utasítássorozat, amelyet a Sub és End Sub utasítások zárnak. Az Sub eljárás végrehajt egy feladatot, majd visszaadja a vezérlést a hívó kódnak, de nem ad vissza értéket a hívó kódnak.

Minden alkalommal, amikor az eljárást meghívják, az utasítások végrehajtása a Sub utasítás utáni első végrehajtható utasítással kezdődik, és az első találkozott End Sub, Exit Sub, vagy Return utasítással ér véget.

Az eljárásokat modulokban, osztályokban és struktúrákban határozhatja meg Sub . Alapértelmezés szerint ez Publicazt jelenti, hogy az alkalmazás bármely pontjáról meghívhatja, amely hozzáfér ahhoz a modulhoz, osztályhoz vagy struktúrához, amelyben definiálta. A metódus olyan Sub vagy Function eljárás, amely a definiáló modulon, osztályon vagy struktúrán kívülről elérhető. További információ: Eljárások.

Az Sub eljárás argumentumokat, például állandókat, változókat vagy kifejezéseket vehet fel, amelyeket a hívó kód továbbít neki.

Deklaráció szintaxisa

Az eljárás deklarálásának Sub szintaxisa a következő:

[modifiers] Sub SubName[(parameterList)]
    ' Statements of the Sub procedure.
End Sub

modifiers meghatározhatja a hozzáférési szintet és a túlterheléssel, felülbírálással, megosztással és árnyékolással kapcsolatos információkat. További információ: Al-nyilatkozat.

Paraméterdeklaráció

Az egyes eljárásparamétereket a változó deklarálásához hasonlóan deklarálja, a paraméter nevét és adattípusát megadva. Megadhatja az átadási mechanizmust, és azt is megadhatja, hogy a paraméter lehet opcionális vagy paramétertömbként adható meg.

A paraméterlistában szereplő paraméterek szintaxisa a következő:

[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType

Ha a paraméter nem kötelező, a deklaráció részeként meg kell adnia egy alapértelmezett értéket is. Az alapértelmezett érték megadásának szintaxisa a következő:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Paraméterek helyi változóként

Amikor a vezérlő áthalad az eljáráson, a rendszer minden paramétert helyi változóként kezel. Ez azt jelenti, hogy élettartama megegyezik az eljárás élettartamával, és hatóköre az egész eljárás.

Hívási szintaxis

Az eljárást explicit módon, önálló hívási utasítással hívhatja meg Sub . Nem hívhatja meg úgy, hogy a nevét használja egy kifejezésben. Meg kell adnia minden olyan argumentum értékét, amely nem kötelező, és zárójelben kell csatolnia az argumentumlistát. Ha nincs megadva argumentum, kihagyhatja a zárójeleket. A kulcsszó használata Call nem kötelező, de nem ajánlott.

Az Sub eljáráshívás szintaxisa a következő:

[Call] SubName[(argumentlist)]

A metódust Sub az azt definiáló osztályon kívülről is meghívhatja. Először a New kulcsszót kell használnia az osztály egy példányának létrehozásához, vagy meg kell hívnia egy metódust, amely visszaadja az osztály egy példányát. További információ: Új operátor. Ezután a következő szintaxissal meghívhatja a Sub metódust a példányobjektumon:

object.MethodName[(argumentList)]

Deklaráció és hívás illusztrációja

Az alábbi Sub eljárás tájékoztatja a számítógép-kezelőt, hogy melyik feladatot szeretné elvégezni az alkalmazás, és megjelenít egy időbélyeget is. Ahelyett, hogy minden feladat elején duplikálja ezt a kódot, az alkalmazás csak különböző helyekről hív tellOperator . Minden hívás egy sztringet ad át az task argumentumban, amely azonosítja az éppen elindított feladatot.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

Az alábbi példában egy tipikus hívás látható.tellOperator

tellOperator("file update")

Lásd még