Ajuda del 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}
Instead of End If you can write EndIf.
Si les expressions es poden escurçar a una línia quan s'utilitzen blocs d'expressió simples.
If condition Then statement [Else statement]
L'expressió If…Then executa blocs de programa depenent d'unes certes condicions. Quan el LibreOffice BASIC troba una expressió If, es prova la condició. Si la condició és True, s'executen totes les expressions posteriors fins a la següent expressió Else o ElseIf. Si la condició és False i li segueix una expressió ElseIf, el LibreOffice BASIC prova la següent expressió i executa les expressions següents si la condició és True. Si és False, el programa continua amb la següent expressió ElseIf o Else. Les expressions que segueixen a Else s'executen només si cap de les condicions provades anteriorment va ser True. Una vegada avaluades totes les condicions i executades les expressions corresponents, el programa continua amb l'expressió que segueix a EndIf.
Podeu imbricar múltiples expressions If...Then.
Les expressions Else i ElseIf són opcionals.
Podeu utilitzar GoTo i GoSub per saltar fora d'un bloc If...Then, però no per saltar dins d'una estructura If...Then.
L'exemple següent us permet introduir la data de venciment d'un producte, i determina si la data de venciment ha passat.
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 data de venciment ha passat"
ElseIf dInput > Date() Then
MsgBox "La data de venciment encara no ha passat"
Else
MsgBox "La data de venciment és avui"
End If
inputError:
If dInput = 0 Then MsgBox "Invalid input"
End Sub