Ayuda de LibreOffice 26.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} condition Then
statements]
[Else
statements]
{EndIf|End If}
En vez de End If, puede escribir EndIf.
If statements can be shortened to one line when using single statement blocks.
If condition Then statement [Else statement]
La instrucción If…Then ejecuta bloques de programa dependiendo de ciertas condiciones. Cuando LibreOffice BASIC encuentra una instrucción If, se somete a prueba la condición. Si la condición es True, se ejecutan todas las instrucciones posteriores hasta la siguiente instrucción Else o ElseIf. Si la condición es False y le sigue una instrucción ElseIf, LibreOffice BASIC somete a prueba la siguiente expresión y ejecuta las instrucciones siguientes si la condición es True. Si es False, el programa continúa con la siguiente instrucción ElseIf o Else. Las instrucciones que siguen a Else se ejecutan solo si ninguna de las condiciones probadas anteriormente fue True. Una vez evaluadas todas las condiciones y ejecutadas las instrucciones correspondientes, el programa continúa con la instrucción que sigue a 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 sInput As String
Dim dInput As Date
On Error Goto inputError
sInput = InputBox("Enter the expiration date (YYYY-MM-DD)")
dInput = DateValue(sInput)
If dInput < Date() Then
MsgBox "La fecha de caducidad ya ha pasado"
ElseIf dInput > Date() Then
MsgBox "La fecha de caducidad no ha pasado aún"
Else
MsgBox "La fecha de caducidad es hoy"
End If
inputError:
If dInput = 0 Then MsgBox "Invalid input"
End Sub