Prozeduraufruf mit beliebig vielen Argumenten
Veröffentlicht am 30.12.2003
Beliebig viele Parameter übergeben.
Bei der Definition einer Prozedur werden die einzelnen Argumente zusammen mit ihren Datentypen hinter dem Prozedurnamen aufgelistet.
Oft hängt die Anzahl der erforderlichen Argumente jedoch von der aktuellen Situation ab.
Verwenden Sie in diesem Fall einfach ein Parameter-Array, um beliebig viele Parameter zu übergeben.
Jede Prozedur kann genau ein Parameter-Array enthalten, das mit dem Schlüsselwort ParamArray gekennzeichnet wird.
Die folgende Prozedur verwendet ein solches Parameter-Array, um zu überprüfen, ob bestimmte Zeichenketten innerhalb eines Textes enthalten sind:
Function TextInString(Text As String, ParamArray Teilstrings() As Variant) As Boolean
Dim Teilstring As Variant
TextInString = False
For Each Teilstring In Teilstrings
If InStr(Text, Teilstring) <> 0 Then
TextInString = True
Exit Function
End If
Next Teilstring
End Function
Der Prozedur wird als erstes Argument ein Text übergeben. Diesem folgen beliebig viele weitere Teilstrings. Die Prozedur gibt True zurück, wenn einer dieser Teilstrings in dem Text enthalten ist.
Das Ergebnis des folgenden Ausdrucks ist dementsprechend True:
TextInString("Über diesen Text läßt sich streiten", "ä", "ö", "ü")