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 Sub
of Return
instructie aangetroffen.
U kunt een Sub
procedure definiëren in modules, klassen en structuren. Dit betekent Public
standaard 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")