Sub-Prozeduren (Visual Basic)
Eine Sub
-Prozedur ist eine Reihe von Visual Basic-Anweisungen, die von den Sub
- und End Sub
-Anweisungen eingeschlossen werden. Die Sub
-Prozedur führt eine Aufgabe aus und gibt dann die Steuerung an den aufrufenden Code zurück, gibt jedoch keinen Wert an den aufrufenden Code zurück.
Jedes Mal, wenn die Prozedur aufgerufen wird, werden ihre Anweisungen ausgeführt, beginnend mit der ersten ausführbaren Anweisung nach der Sub
Anweisung und endet mit der ersten End Sub
-, Exit Sub
- oder Return
-Anweisung.
Sie können eine Sub
Prozedur in Modulen, Klassen und Strukturen definieren. Standardmäßig bedeutet Public
, dass Sie sie von überall in Ihrer Anwendung aufrufen können, die Zugriff auf das Modul, die Klasse oder die Struktur hat, in der Sie sie definiert haben. Der Begriff Methode beschreibt eine Sub
- oder Function
-Prozedur, auf die von außerhalb des definierenden Moduls, der Klasse oder der Struktur zugegriffen wird. Weitere Informationen finden Sie unter Prozeduren.
Eine Sub
-Prozedur kann Argumente wie Konstanten, Variablen oder Ausdrücke annehmen, die vom aufrufenden Code an sie übergeben werden.
Deklarationssyntax
Die Syntax zum Deklarieren einer Sub
Prozedur lautet wie folgt:
[modifiers] Sub SubName[(parameterList)]
' Statements of the Sub procedure.
End Sub
Der modifiers
kann Zugriffsebene und Informationen zum Überladen, Überschreiben, Freigeben und Schattierung angeben. Weitere Informationen finden Sie unter Sub-Anweisung.
Parameterdeklaration
Sie deklarieren jeden Prozedurparameter ähnlich wie die Deklarieren einer Variablen, wobei Sie den Parameternamen und den Datentyp angeben. Sie können auch den Übergabemechanismus angeben und angeben, ob der Parameter optional oder ein Parameterarray ist.
Die Syntax für jeden Parameter in der Parameterliste lautet wie folgt:
[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType
Wenn der Parameter optional ist, müssen Sie auch einen Standardwert als Teil der Deklaration angeben. Die Syntax zum Angeben eines Standardwerts lautet wie folgt:
Optional [ByVal | ByRef] parameterName As DataType = defaultValue
Parameter als lokale Variablen
Wenn das Steuerelement an die Prozedur übergeben wird, wird jeder Parameter als lokale Variable behandelt. Dies bedeutet, dass ihre Lebensdauer mit dem des Verfahrens identisch ist, und ihr Umfang ist das gesamte Verfahren.
Aufrufen der Syntax
Sie rufen eine Sub
-Prozedur explizit mit einer eigenständigen Aufrufanweisung auf. Sie können ihn nicht mithilfe seines Namens in einem Ausdruck aufrufen. Sie müssen Werte für alle Argumente angeben, die nicht optional sind, und Sie müssen die Argumentliste in Klammern einschließen. Wenn keine Argumente angegeben werden, können Sie optional die Klammern weglassen. Die Verwendung des Call
Schlüsselworts ist optional, aber nicht empfohlen.
Die Syntax für einen Aufruf einer Sub
Prozedur lautet wie folgt:
[Call] SubName[(argumentlist)]
Sie können eine Sub
Methode von außerhalb der Klasse aufrufen, die sie definiert. Zunächst müssen Sie das New
Schlüsselwort verwenden, um eine Instanz der Klasse zu erstellen, oder eine Methode aufrufen, die eine Instanz der Klasse zurückgibt. Weitere Informationen finden Sie unter Neuer Operator. Anschließend können Sie die folgende Syntax verwenden, um die Sub
Methode für das Instanzobjekt aufzurufen:
object.MethodName[(argumentList)]
Abbildung der Deklaration und des Aufrufs
Das folgende Sub
-Verfahren teilt dem Computeroperator mit, welche Aufgabe die Anwendung ausführen soll, und zeigt auch einen Zeitstempel an. Anstatt diesen Code zu Beginn jeder Aufgabe zu duplizieren, ruft die Anwendung einfach von verschiedenen Standorten aus auf tellOperator
. Jeder Aufruf übergibt eine Zeichenfolge im task
Argument, die die gestartete Aufgabe identifiziert.
Sub tellOperator(ByVal task As String)
Dim stamp As Date
stamp = TimeOfDay()
MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub
Das folgende Beispiel zeigt einen typischen Aufruf von tellOperator
.
tellOperator("file update")