Hilfe für Collabora Office 23.05
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|Else If} expression Then
statements]
[Else
statements]
{EndIf|End If}
Anstelle von Else If können Sie auch ElseIf und anstelle von End If EndIf schreiben.
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 Collabora Office 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 Collabora Office 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 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