LibreOffice 25.2 Hjælp
Definerer en eller flere erklæringsblokke, som du kun vil udføre, hvis en given betingelse eller udtryk er True (sand).
If condition Then
statements
[{ElseIf} condition Then
statements]
[Else
statements]
{EndIf|End If}
I stedet for End If kan du skrive EndIf.
If erklæringer kan afkortes til en linje ved brug af enkelterklærings-blokke.
If condition Then statement [Else statement]
Erklæringen If...Then udfører programblokke afhængigt af de givne betingelser. Når LibreOffice Basic møder en If-erklæring, prøves betingelsen. Hvis betingelsen er True (sand), udføres alle følgende erklæringer op til den næste Else- eller ElseIf-erklæring. Hvis betingelsen er False (falsk) og der følger en ElseIf-erklæring, tester LibreOffice Basic det næste udtryk og udfører de følgende erklæringer, hvis betingelsen er True. If False (sand), programmet fortsætter med enten den næste ElseIf- eller Else-erklæring. Erklæringer, der følger Else udføres kun, hvis ingen eller de forud testede betingelser var True (sande). Efter at alle betingelser er testet og de tilsvarende erklæringer er udført, fortsætter programmet med de erklæringer, der følger EndIf.
Du kan indlejre gentagne If...Then- sætninger.
Else og ElseIf- sætninger er valgfrie.
Du kan bruge GoTo og GoSub for at hoppe ud af en If...Then- blok, men ikke til at hoppe ind i en If...Then struktur.
Følgende eksempel lader dig indtaste udløbsdatoen på et produkt, og bestemmer om udløbsdatoen er overskredet.
Sub ExampleIfThenDate
Dim sInput As String
Dim dInput As Date
On Error Goto inputError
sInput = InputBox("Angiv udløbsdatoen (ÅÅÅÅ-MM-DD)")
dInput = DateValue(sInput)
If dInput < Date() Then
MsgBox "Udløbsdatoen er overskredet"
ElseIf dInput > Date() Then
MsgBox "Udløbsdatoen er endnu ikke passeret"
Else
MsgBox "Udløbsdatoen er i dag"
End If
inputError:
If dInput = 0 Then MsgBox "Ugyldigt input"
End Sub