Share via


Subprocedures (Visual Basic)

Een Sub procedure is een reeks Visual Basic-instructies die zijn ingesloten door de Sub en-instructies End Sub . De Sub procedure voert een taak uit en retourneert vervolgens het besturingselement naar de aanroepende code, maar retourneert geen waarde voor de aanroepende code.

Telkens wanneer de procedure wordt aangeroepen, worden de instructies uitgevoerd, beginnend met de eerste uitvoerbare instructie na de Sub instructie en eindigend met de eerste End Sub, Exit Subof Return instructie aangetroffen.

U kunt een Sub procedure definiëren in modules, klassen en structuren. Dit betekent Publicstandaard dat u deze kunt aanroepen vanaf elke locatie in uw toepassing die toegang heeft tot de module, klasse of structuur waarin u deze hebt gedefinieerd. De termsmethode beschrijft een Sub of Function procedure die toegankelijk is van buiten de definitiemodule, klasse of structuur. Zie Procedures voor meer informatie.

Een Sub procedure kan argumenten aannemen, zoals constanten, variabelen of expressies, die worden doorgegeven door de aanroepende code.

Syntaxis van declaratie

De syntaxis voor het declareren van een Sub procedure is als volgt:

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

Het modifiers kan toegangsniveau en informatie over overbelasting, overschrijven, delen en schaduw opgeven. Zie Subinstructie voor meer informatie.

Parameterdeclaratie

U declareert elke procedureparameter op dezelfde manier als de manier waarop u een variabele declareert, waarbij u de parameternaam en het gegevenstype opgeeft. U kunt ook het doorgegeven mechanisme opgeven en of de parameter optioneel is of een parametermatrix.

De syntaxis voor elke parameter in de lijst met parameters is als volgt:

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

Als de parameter optioneel is, moet u ook een standaardwaarde opgeven als onderdeel van de declaratie. De syntaxis voor het opgeven van een standaardwaarde is als volgt:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Parameters als lokale variabelen

Wanneer het besturingselement wordt doorgegeven aan de procedure, wordt elke parameter behandeld als een lokale variabele. Dit betekent dat de levensduur hetzelfde is als die van de procedure en dat het bereik ervan de hele procedure is.

Aanroepende syntaxis

U roept een Sub procedure expliciet aan met een zelfstandige aanroepinstructie. U kunt deze niet aanroepen met behulp van de naam in een expressie. U moet waarden opgeven voor alle argumenten die niet optioneel zijn en u moet de lijst met argumenten tussen haakjes insluiten. Als er geen argumenten worden opgegeven, kunt u eventueel de haakjes weglaten. Het gebruik van het Call trefwoord is optioneel, maar wordt niet aanbevolen.

De syntaxis voor een aanroep naar een Sub procedure is als volgt:

[Call] SubName[(argumentlist)]

U kunt een Sub methode aanroepen van buiten de klasse die deze definieert. Eerst moet u het New trefwoord gebruiken om een exemplaar van de klasse te maken of een methode aanroepen die een exemplaar van de klasse retourneert. Zie Nieuwe operator voor meer informatie. Vervolgens kunt u de volgende syntaxis gebruiken om de Sub methode voor het exemplaarobject aan te roepen:

object.MethodName[(argumentList)]

Afbeelding van declaratie en aanroep

De volgende Sub procedure vertelt de computeroperator welke taak de toepassing gaat uitvoeren en geeft ook een tijdstempel weer. In plaats van deze code aan het begin van elke taak te dupliceren, roept tellOperator de toepassing alleen aan vanaf verschillende locaties. Elke aanroep geeft een tekenreeks door in het task argument waarmee de taak wordt geïdentificeerd die wordt gestart.

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

In het volgende voorbeeld ziet u een typische aanroep naar tellOperator.

tellOperator("file update")

Zie ook