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")

Weitere Informationen