If...Then...Else-uttrykket
Definerar ei eller fleire uttrykksblokker som berre vert kÞyrde viss det gjevne vilkÄret vert oppfylt (er True).
Syntaks:
If vilkÄr = True Then uttrykksblokka [ElseIf vilkÄr = true Then] uttrykksblokka [Else] uttrykksblokka EndIf
Du kan skriva «ELSE IF» eller «ELSEIF», «END IF» eller «ENDIF» eller med ei blanding av smÄ og store bokstavar, for eksempel «ElseIf», «EndIf».
Parametrar:
Uttrykket If ⊠Then utfÞrer programblokker avhengig av dei gjevne vilkÄra. NÄr LibreOffice Basic oppdagar eit If-uttrykk, vert vilkÄra testa. Viss vilkÄret er SANN (True) vert alle etterfÞlgjande uttrykka fram til neste Else eller ElseIf utfÞrte. Viss vilkÄret er USANN (False) og det neste uttrykket er ElseIf, vil LibreOffice Basic teste det neste vilkÄret og utfÞre det neste uttrykket viss vilkÄret er True. Dersom dette vilkÄret er False, gÄr programmet vidare til anten neste Else eller ElseIf. Uttrykk etter Else vert utfÞrte berre viss ingen av dei tidlegare testane er True. NÄr alle uttrykka er kontrollerte, vil programmet utfÞra uttrykket som kjem etter EndIf.
Du kan fletta saman fleire If ⊠Then uttrykk.
Else og ElseIf er valfrie.
Det er rÄd Ä gÄ ut av ei If ⊠Then blokk med GoTo og GoSub, men det er ikkje rÄd Ä gÄ inn i ein If ⊠Then struktur.
Eksemplet nedanfor viser korleis du kan skriva inn ein sluttdato for eit produkt og kontrollera om denne dagen er overskride.
Eksempel:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Skriv inn sluttdatoen (MM.DD.YYYY)")
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 "Sluttdatoen er overskride"
ElseIf sDate > sToday Then
MsgBox "Sluttdatoen er ikkje nÄdd"
Else
MsgBox "Sluttdatoen er i dag"
End If
End Sub