Hilfe für LibreOffice 25.2
Definiert einen oder mehrere Anweisungsblöcke, die Sie nur ausführen möchten, wenn eine gegebene Bedingung oder ein Ausdruck True ist.
If condition Then
statements
[{ElseIf} condition Then
statements]
[Else
statements]
{EndIf|End If}
Anstelle von End If kann EndIf verwendet werden.
Anweisungen If können bei Verwendung einzelner Anweisungsblöcke auf eine Zeile gekürzt werden.
If condition Then statement [Else statement]
Die Anweisung If…Then führt Programmblöcke abhängig von gegebenen Bedingungen aus. Wenn LibreOffice Basic auf eine Anweisung If stößt, wird die Bedingung getestet. Wenn die Bedingung True ist, werden alle nachfolgenden Anweisungen bis zur nächsten Anweisung Else oder ElseIf ausgeführt. Wenn die Bedingung False ist und eine Anweisung ElseIf folgt, testet LibreOffice Basic den nächsten Ausdruck und führt die folgenden Anweisungen aus, wenn die Bedingung True ist . Bei False fährt das Programm entweder mit der nächsten Anweisung ElseIf oder Else fort. Anweisungen, die auf Else folgen, werden nur ausgeführt, wenn keine der zuvor getesteten Bedingungen True war. Nachdem alle Bedingungen ausgewertet und die entsprechenden Anweisungen ausgeführt wurden, 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.
Sub ExampleIfThenDate
Dim sInput As String
Dim dInput As Date
On Error Goto inputError
sInput = InputBox("Geben Sie das Ablaufdatum ein (YYYY-MM-DD)")
dInput = DateValue(sInput)
If dInput < Date() Then
MsgBox "Das Verfalldatum ist abgelaufen"
ElseIf dInput > Date() Then
MsgBox "Das Verfalldatum ist noch nicht abgelaufen"
Else
MsgBox "Das Verfalldatum läuft heute ab"
End If
inputError:
If dInput = 0 Then MsgBox "Ungültige Eingabe"
End Sub