Anweisung If...Then...Else
Definiert einen oder mehrere Anweisungsblöcke, die nur ausgeführt werden sollen, wenn eine bestimmte Bedingung erfüllt (True) ist.
Syntax:
If Bedingung=true Then Anweisungsblock [ElseIf Bedingung=true Then] Anweisungsblock [Else] Anweisungsblock EndIf
Anstelle des Else If können Sie auch Elseif schreiben, anstelle des End If Endif.
Parameter:
Die Anweisung If...Then führt abhängig von der Erfüllung der angegebenen Bedingungen bestimmte Programmblöcke aus. Trifft Collabora Office Basic auf eine If-Anweisung, so wird zunächst die Erfüllung der Bedingung geprüft. Ist die Bedingung erfüllt (True), so werden alle nachfolgenden Anweisungen bis zur nächsten Else- oder ElseIf-Anweisung ausgeführt. Ist die Bedingung nicht erfüllt (False) und es folgt eine ElseIf-Anweisung, so prüft Collabora Office die nächste Bedingung und führt im Falle ihrer Erfüllung die ihr folgenden Anweisungen aus. Wenn die Bedingung ElseIf nicht erfüllt ist (False), fährt das Programm bei der nächsten Anweisung ElseIf (falls vorhanden) oder Anweisung Else fort. Anweisungen im Block Else werden nur ausgeführt, wenn keine der zuvor geprüften Bedingungen erfüllt (True) war. Sobald alle Bedingungen ausgewertet und die dazugehörigen Anweisungen ausgeführt sind, fährt das Programm mit der Anweisung nach EndIf fort.
Sie können mehrere Anweisung If...Then verschachteln.
Else und ElseIf-Statements brauchen nicht mit angegeben zu werden, sind also optional.
Ihr Programm darf zwar mit Hilfe von GoTo und GoSub aus einer Konstruktion If...Then herausspringen, jedoch nicht in eine Struktur If...Then hineinspringen.
Das folgende Beispiel lässt Sie das Verfallsdatum eines Produkts eingeben und bestimmt dann, ob es abgelaufen ist.
Beispiel:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Bitte geben Sie das Verfallsdatum ein (TT.MM.JJJJ)")
sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2)
sToday = Date$
sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2)
If sDate < sToday Then
MsgBox "Das Verfalldatum ist abgelaufen"
ElseIf sDate > sToday Then
MsgBox "Das Verfalldatum ist noch nicht abgelaufen"
Else
MsgBox "Das Verfalldatum läuft heute ab"
End If
End Sub