Πρόταση If...Then...Else
Καθορίζει ένα ή περισσότερα μπλοκ προτάσεων που πρόκειται να εκτελεστούν μόνο αν μια δεδομένη συνθήκη είναι True (Αληθής).
Σύνταξη:
If condition=true Then ομάδα δηλώσεων [ElseIf condition=true Then] ομάδα δηλώσεων [Else] ομάδα δηλώσεων EndIf
Αντί για Else If μπορείτε να γράψετε ElseIf, αντί για End If μπορείτε να γράψετε EndIf.
Παράμετροι:
Η δήλωση If...Then εκτελεί ομάδα προγραμμάτων ανάλογα με τις δεδομένες συνθήκες. Όταν η LibreOffice Basic συναντά μια δήλωση If, η συνθήκη ελέγχεται. Αν η τιμή είναι αληθής, εκτελούνται όλες οι επακόλουθες δηλώσεις μέχρι την επόμενη δήλωση Else ή ElseIf. Αν η συνθήκη είναι ψευδής και ακολουθεί δήλωση ElseIf , η LibreOffice Basic ελέγχει την επόμενη συνθήκη και εκτελεί τις ακόλουθες δηλώσεις αν η συνθήκη είναι αληθής. Αν είναι ψευδής, το πρόγραμμα συνεχίζει είτε με την επόμενη πρόταση ElseIf ή Else. Οι προτάσεις που ακολουθούν την Else εκτελούνται μόνο αν καμία από τις προηγούμενες ελεγχθείσες συνθήκες δεν ήταν αληθής. Αφού αξιολογηθούν όλες οι συνθήκες και αφού εκτελεστούν οι αντίστοιχες προτάσεις, το πρόγραμμα συνεχίζει με την πρόταση που έπεται της EndIf.
Μπορείτε να τοποθετηθείτε το πολλαπλές δηλώσεις If...Then την μία μέσα στην άλλη.
Στο Else και στο ElseIf οι δηλώσεις είναι προαιρετικές.
Μπορείτε να χρησιμοποιήσετε την GoTo και την GoSub για να φύγετε έξω από ένα μπλοκ If...Then, αλλά όχι για να φύγετε έξω από μία δομή If...Then.
Το ακόλουθο παράδειγμα σάς επιτρέπει να εισαγάγετε την ημερομηνία λήξης ενός προϊόντος, και επιστρέφει την πληροφορία αν το προϊόν έληξε.
Παράδειγμα:
Sub ExampleIfThenDate
Dim sDate As String
Dim sToday As String
sDate = InputBox("Εισαγάγετε την ημερομηνία λήξης (MM.ΗΗ.ΕΕΕΕ")
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 "Η ημερομηνία λήξης πέρασε"
ElseIf sDate > sToday Then
MsgBox "Η ημερομηνία λήξης δεν έχει περάσει ακόμα"
Else
MsgBox "Η ημερομηνία λήξης είναι σήμερα"
End If
End Sub