Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 Public
azt 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")