Περιεχόμενα

# Πρόταση If...Then...Else

Ορίζει ένα ή περισσότερα μπλοκ πρότασης που θέλετε να εκτελέσετε μόνο εάν μια δεδομένη συνθήκη ή έκφραση είναι True.

### Σύνταξη:

      If condition Then
          statements
      [{ElseIf} condition Then
          statements]
      [Else
          statements]
      {EndIf|End If}

Instead of End If you can write EndIf.

Οι προτάσεις If μπορούν να συντομευθούν σε μία γραμμή χρησιμοποιώντας μοναδικά μπλοκ προτάσεων.

      If condition Then statement [Else statement]

### Παράμετροι:

Η πρόταση If...Then εκτελεί μπλοκ προγράμματος που εξαρτώνται από τις δεδομένες συνθήκες. Όταν η Basic του LibreOffice αντιμετωπίζει μια πρόταση If, ελέγχεται η συνθήκη. Εάν η συνθήκη είναι True, όλες οι επόμενες προτάσεις μέχρι την επόμενη Else ή ElseIf πρόταση εκτελούνται. Εάν η συνθήκη είναι False και μια πρόταση ElseIf ακολουθεί, η Basic του LibreOffice ελέγχει την επόμενη έκφραση και εκτελεί τις επόμενες προτάσεις εάν η συνθήκη είναι True. Εάν είναι False, το πρόγραμμα συνεχίζει είτε με την επόμενη ElseIf, είτε με την πρόταση Else. Οι προτάσεις που ακολουθούν την Else εκτελούνται μόνο εάν καμιά από τις προηγουμένως ελεγμένες συνθήκες δεν ήταν True. Μετά την αξιολόγηση όλων των συνθηκών και την εκτέλεση των αντίστοιχων προτάσεων, το πρόγραμμα συνεχίζει με την πρόταση που ακολουθεί την EndIf.

Μπορείτε να τοποθετηθείτε το πολλαπλές δηλώσεις If...Then την μία μέσα στην άλλη.

Στο Else και στο ElseIf οι δηλώσεις είναι προαιρετικές.

Μπορείτε να χρησιμοποιήσετε την GoTo και την GoSub για να φύγετε έξω από ένα μπλοκ If...Then, αλλά όχι για να φύγετε έξω από μία δομή If...Then.

### Παράδειγμα:

Το ακόλουθο παράδειγμα σάς επιτρέπει να εισαγάγετε την ημερομηνία λήξης ενός προϊόντος, και επιστρέφει την πληροφορία αν το προϊόν έληξε.

    Sub ExampleIfThenDate
        Dim sInput As String
        Dim dInput As Date

      On Error Goto inputError
        sInput = InputBox("Enter the expiration date (YYYY-MM-DD)")
        dInput = DateValue(sInput)

        If dInput < Date() Then
            MsgBox "Η ημερομηνία λήξης πέρασε"
        ElseIf dInput > Date() Then
            MsgBox "Η ημερομηνία λήξης δεν έχει περάσει ακόμα"
        Else
            MsgBox "Η ημερομηνία λήξης είναι σήμερα"
        End If

    inputError:
        If dInput = 0 Then MsgBox "Invalid input"
    End Sub

Σχετικά θέματα

Πρόταση Select Case

Συναρτήσεις Iif ή Switch