If...Then...Else Statement
Defines one or more statement blocks that you only want to execute if a given condition is True.
Syntax:
If condition=true Then Statement block [ElseIf condition=true Then] Statement block [Else] Statement block EndIf
Instead of Else If you can write ElseIf, instead of End If you can write EndIf.
Parameters:
The \<emph\>If...Then\</emph\> statement executes program blocks depending on given conditions. When LibreOffice Basic encounters an \<emph\>If\</emph\> statement, the condition is tested. If the condition is True, all subsequent statements up to the next \<emph\>Else\</emph\> or \<emph\>ElseIf\</emph\> statement are executed. If the condition is False, and an \<emph\>ElseIf\</emph\> statement follows, LibreOffice Basic tests the next condition and executes the following statements if the condition is True. If False, the program continues either with the next \<emph\>ElseIf\</emph\> or \<emph\>Else\</emph\> statement. Statements following \<emph\>Else\</emph\> are executed only if none of the previously tested conditions were True. After all conditions are evaluated, and the corresponding statements executed, the program continues with the statement following \<emph\>EndIf\</emph\>.
You can nest multiple \<emph\>If...Then\</emph\> statements.
\<emph\>Else\</emph\> and \<emph\>ElseIf\</emph\> statements are optional.
You can use \<emph\>GoTo\</emph\> and \<emph\>GoSub\</emph\> to jump out of an \<emph\>If...Then\</emph\> block, but not to jump into an \<emph\>If...Then\</emph\> structure.
The following example enables you to enter the expiration date of a product, and determines if the expiration date has passed.
Example:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Enter the expiration date (MM.DD.YYYY)")
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 "The expiration date has passed"
ElseIf sDate > sToday Then
MsgBox "The expiration date has not yet passed"
Else
MsgBox "The expiration date is today"
End If
End Sub