Ajuda do LibreOffice 26.2
Define um ou mais blocos de instruções que só se pretende executar se uma determinada condição ou expressão for True.
If condition Then
statements
[{ElseIf} condition Then
statements]
[Else
statements]
{EndIf|End If}
Em vez de End If, pode escrever EndIf.
As instruções If podem ser encurtadas para uma única linha quando se utilizam blocos de instrução única.
If condition Then statement [Else statement]
A instrução If...Then executa blocos de código em função de determinadas condições. Quando o LibreOffice Basic encontra uma instrução If, a condição é avaliada. Se a condição for True, todas as instruções subsequentes até à próxima instrução Else ou ElseIf são executadas. Se a condição for False e seguir-se uma instrução ElseIf, o LibreOffice Basic verifica a expressão seguinte e executa as instruções seguintes se a condição for True. Se for False, o programa continua com a próxima instrução ElseIf ou Else. As instruções que se seguem a Else são executadas apenas se nenhuma das condições testadas anteriormente for True. Depois de todas as condições serem avaliadas e das instruções correspondentes serem executadas, o programa continua com a instrução que se segue a EndIf.
Pode imbricar múltiplas instruções If...Then.
As instruções Else e ElseIf são opcionais.
Pode utilizar GoTo e GoSub para sair de um bloco If...Then, mas não para entrar numa estrutura If...Then.
O seguinte exemplo permite-lhe introduzir a data de validade de um produto, e determina se esta já foi ultrapassada.
Sub ExampleIfThenDate
Dim sInput As String
Dim dInput As Date
On Error Goto inputError
sInput = InputBox("Introduza a data de validade (AAAA-MM-DD)")
dInput = DateValue(sInput)
If dInput < Date() Then
MsgBox "A data de validade já passou"
ElseIf dInput > Date() Then
MsgBox "A data de validade ainda não passou"
Else
MsgBox "A data de validade termina hoje"
End If
inputError:
Se dInput = 0, então MsgBox "Entrada inválida"
End Sub