Gewusst wie: Definieren optionaler Parameter für eine Prozedur
Aktualisiert: November 2007
Sie können einen Prozedurparameter als optional festlegen, sodass beim Aufruf der Prozedur im Aufrufcode kein Argument dafür angegeben werden muss. Sie definieren in diesem Fall einen Standardwert, den die Prozedur verwendet, wenn das Argument nicht angegeben wird.
Sie können mehrere optionale Parameter definieren. Alle optionalen Parameter müssen am Ende der Parameterliste stehen. Sämtliche erforderlichen Parameter müssen vor den optionalen Parametern stehen.
So definieren Sie einen optionalen Parameter
Stellen Sie in der Prozedurdeklaration dem Parameternamen in der Parameterliste das Schlüsselwort Optional voran.
Geben Sie nach dem Parameternamen wie üblich eine As-Klausel und nach der As-Klausel ein Gleichheitszeichen (=) an.
Geben Sie unmittelbar nach dem Gleichheitszeichen den Standardwert für den Parameter an. Dies muss ein konstanter Ausdruck sein, damit der Compiler ihn zur Kompilierungszeit vollständig auswerten kann.
Sie müssen jeden nachfolgenden Parameter als Optional deklarieren.
Beispiel
Das folgende Beispiel veranschaulicht eine Prozedurdeklaration mit einem optionalen Parameter.
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
Wenn im Aufrufcode in der Argumentliste kein Wert für office angegeben wird, gibt Visual Basic den Standardwert "QJZ" an.
Kompilieren des Codes
Sie müssen in der Prozedurdeklaration für jeden optionalen Parameter einen Standardwert angeben. Stellen Sie sicher, dass jeder Standardwert eine Konstante ist, die der Compiler zur Kompilierungszeit auswerten kann.
Siehe auch
Aufgaben
Gewusst wie: Aufrufen einer Prozedur mit optionalen Parametern
Gewusst wie: Bestimmen, ob ein optionaler Parameter angegeben wurde
Konzepte
Parameter und Argumente von Prozeduren
Übergeben von Argumenten als Wert und als Verweis
Argumentübergabe nach Position und Namen