Επιστρέφει μια δυαδική τιμή που υποδεικνύει εάν μια προαιρετική Μεταβλητήόρισμα έχει μεταβιβαστεί σε ένα διαδικασία.
Σύνταξη
IsMissing( argname )
Το απαιτούμενο όρισμα argname περιέχει το όνομα ενός προαιρετικού ορίσματος διαδικασίας Μεταβλητής .
Παρατηρήσεις
Χρησιμοποιήστε τη συνάρτηση IsMissing για να εντοπίσετε εάν έχουν παρασχεθεί προαιρετικά ορίσματα Μεταβλητής ή όχι κατά την κλήση μιας διαδικασίας. Η συνάρτηση IsMissing επιστρέφει "Αληθές " εάν δεν έχει μεταβιβαστεί καμία τιμή για το καθορισμένο όρισμα. διαφορετικά, επιστρέφει την τιμή False. Εάν η συνάρτηση IsMissing επιστρέφει "Αληθές " για ένα όρισμα, η χρήση του ορίσματος που λείπει σε άλλον κώδικα μπορεί να προκαλέσει σφάλμα που ορίζεται από το χρήστη. Εάν η επιλογή IsMissing χρησιμοποιείται σε ένα όρισμα ParamArray , η συνάρτηση επιστρέφει πάντα την τιμή False. Για να εντοπίσετε ένα κενό ParamArray, ελέγξτε αν το ανώτερο όριο του πίνακα είναι μικρότερο από το κατώτερο όριο.
Σημείωση: Η δυνατότητα IsMissing δεν λειτουργεί σε απλούς τύπους δεδομένων (όπως Ακέραιος ή Διπλός) επειδή, σε αντίθεση με τις Παραλλαγές, δεν υπάρχει πρόβλεψη για ένα bit σημαίας "λείπει". Εξαιτίας αυτού, η σύνταξη για τα πληκτρολογημένα προαιρετικά ορίσματα σάς επιτρέπει να καθορίσετε μια προεπιλεγμένη τιμή. Εάν το όρισμα παραλειφθεί κατά την κλήση της διαδικασίας, τότε το όρισμα θα έχει αυτή την προεπιλεγμένη τιμή, όπως στο παρακάτω παράδειγμα:
Σημείωση: Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στην Αναζήτηση και πληκτρολογήστε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
Σε πολλές περιπτώσεις, μπορείτε να παραλείψετε εντελώς τον έλεγχο If MyVar κάνοντας την προεπιλεγμένη τιμή ίση με την τιμή που θέλετε MyVar να περιέχει εάν ο χρήστης την παραλείψει από την κλήση της συνάρτησης. Με αυτόν τον τρόπο, ο κείμενός σας γίνεται πιο συνοπτικός και αποτελεσματικός.
Παράδειγμα
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση IsMissing για να ελέγξει εάν ένα προαιρετικό όρισμα έχει μεταβιβαστεί σε μια διαδικασία που ορίζεται από το χρήστη. Σημειώστε ότι τα προαιρετικά ορίσματα μπορούν τώρα να έχουν προεπιλεγμένες τιμές και τύπους εκτός από την Μεταβλητή.
Dim ReturnValue
' The following statements call the user-defined ' function procedure. ReturnValue = ReturnTwice() ' Returns Null. ReturnValue = ReturnTwice(2) ' Returns 4. ' Function procedure definition. Function ReturnTwice(Optional A) If IsMissing(A) Then ' If argument is missing, return a Null. ReturnTwice = Null Else ' If argument is present, return twice the value. ReturnTwice = A * 2 End If End Function