Pomoc LibreOffice 24.8
Określa jeden lub więcej bloków instrukcji, które chcesz wykonać tylko wtedy, gdy dany warunek lub wyrażenie jest True.
If condition Then
statements
[{ElseIf|Else If} expression Then
statements]
[Else
statements]
{EndIf|End If}
Zamiast Else If możesz napisać ElseIf, zamiast End If możesz napisać EndIf.
Instrukcje If można skrócić do jednej linii, gdy używane są pojedyncze bloki instrukcji.
If condition Then statement [Else statement]
Instrukcja If...Then wykonuje bloki programu w zależności od zadanych warunków. Gdy LibreOffice Basic napotyka instrukcję If, warunek jest sprawdzany. Jeśli warunek to True, wykonywane są wszystkie kolejne instrukcje aż do następnej instrukcji Else lub ElseIf. Jeśli warunek to False i następuje instrukcja ElseIf, LibreOffice Basic sprawdza następne wyrażenie i wykonuje następujące instrukcje, jeśli warunek to True. Jeśli False, program kontynuuje z następną instrukcją ElseIf albo Else. Instrukcje następujące po Else są wykonywane tylko wtedy, gdy żaden z wcześniej przetestowanych warunków nie był True. Po obliczeniu wszystkich warunków i wykonaniu odpowiednich instrukcji program kontynuuje wykonywanie instrukcji następującej po EndIf.
Instrukcje If...Then można zagnieżdżać.
Instrukcje Else i ElseIf są opcjonalne.
Aby wyskoczyć z bloku If...Then, można użyć poleceń GoTo i GoSub. Nie można natomiast używać, aby przejść do struktury If...Then.
Poniższy przykład pozwala na wprowadzenie terminu ważności produktu i określa, czy termin ten minął.
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Wprowadź termin ważności (MM.DD.RRRR)")
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 "Termin przydatności minął."
ElseIf sDate > sToday Then
MsgBox "Termin przydatności nie minął."
Else
MsgBox "Termin przydatności mija dzisiaj."
End If
End Sub