Ayuda de LibreOffice 24.8
Defines one or more statement blocks that you only want to execute if a given condition or expression is True.
If condition Then
statements
[{ElseIf|Else If} expression Then
statements]
[Else
statements]
{EndIf|End If}
Instead of Else If you can write ElseIf, instead of End If you can write EndIf.
If statements can be shortened to one line when using single statement blocks.
If condition Then statement [Else statement]
The If...Then statement executes program blocks depending on given conditions. When LibreOffice Basic encounters an If statement, the condition is tested. If the condition is True, all subsequent statements up to the next Else or ElseIf statement are executed. If the condition is False, and an ElseIf statement follows, LibreOffice Basic tests the next expression and executes the following statements if the condition is True. If False, the program continues either with the next ElseIf or Else statement. Statements following Else 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 EndIf.
Es posible anidar varias instrucciones If...Then.
Las instrucciones Else y ElseIf son opcionales.
Se puede usar GoTo y GoSub para salir de un bloque If...Then, pero no para saltar dentro de una estructura If...Then.
El ejemplo siguiente permite introducir una fecha de caducidad de un producto y determina si esta ya ha pasado.
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sFecha = InputBox("Escriba la fecha de caducidad (MM.DD.AAAA)")
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 "La fecha de caducidad ya ha pasado"
ElseIf sDate > sToday Then
MsgBox "La fecha de caducidad no ha pasado aún"
Else
MsgBox "La fecha de caducidad es hoy"
End If
End Sub