Módulo
Conteúdo
Índice 🔎︎

# If...Then...Else Statement

Define um ou mais blocos de instruções que só se pretenda executar se uma certa condição for Verdadeira.

## Sintaxe:

    If condição=true Then bloco de instruções [ElseIf condição=true Then] bloco de instruções [Else] bloco de instruções EndIf

Em vez de Else pode escrever ElseIf e em vez de End pode escrever EndIf.

## Parâmetros:

A instrução If...Then executa blocos de programas dependendo de certas condições. Quando o LibreOffice Basic encontra uma instrução If, a condição é testada. Se a condição for True, todas as instruções seguintes até à próxima instrução Else ou ElseIf são executadas. Se a condição for False e se seguir uma instrução ElseIf, o LibreOffice Basic testa a condição seguinte e executa as seguintes instruções 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ó são executadas se nenhuma das condições previamente testadas for True. Depois de avaliadas todas as condições, e executadas as instruções correspondentes, 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.

## Exemplo:

    Sub ExampleIfThenDate

    Dim sDate As String

    Dim sToday As String

        sDate = InputBox("Introduza a data de validade (DD.MM.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 "A data de validade já passou"

        ElseIf sDate > sToday Then

            MsgBox "A data de validade ainda não passou"

        Else

            MsgBox "A data de validade termina hoje"

        End If

    End Sub