Η ευελιξία του ορίσματος των κουμπιών VBA καθιστά εύκολη την προσαρμογή των πλαισίων μηνυμάτων του Excel. Μπορείτε να επιλέξετε ποια κουμπιά θα εμφανίζονται, να καθορίσετε εάν θα εμφανίζεται ένα εικονίδιο και να αποφασίσετε ποιο κουμπί είναι το προεπιλεγμένο (το προεπιλεγμένο κουμπί γίνεται "κλικ" εάν ο χρήστης πατήσει Enter).
Μπορείτε να χρησιμοποιήσετε ενσωματωμένες σταθερές για το όρισμα κουμπιών. Εάν προτιμάτε, μπορείτε να χρησιμοποιήσετε την τιμή αντί για μια σταθερά (αλλά η χρήση των ενσωματωμένων σταθερών είναι πολύ πιο εύκολη).
Για να χρησιμοποιήσετε περισσότερες από μία από αυτές τις σταθερές ως όρισμα, απλώς συνδέστε τις με έναν τελεστή +. Για παράδειγμα, για να εμφανίσετε ένα πλαίσιο μηνύματος με κουμπιά Ναι και Όχι και ένα εικονίδιο με θαυμαστικό, χρησιμοποιήστε την ακόλουθη έκφραση ως το δεύτερο όρισμα MsgBox:
vbΝαιΌχι + vbΘαυμαστικό
Ή, αν προτιμάτε να κάνετε τον κώδικά σας λιγότερο κατανοητό, χρησιμοποιήστε μια τιμή 52 (δηλαδή 4 + 48).
Το παρακάτω παράδειγμα χρησιμοποιεί έναν συνδυασμό σταθερών για να εμφανίσει ένα πλαίσιο μηνύματος με ένα κουμπί Ναι και ένα κουμπί Όχι (vbYesNo) καθώς και ένα εικονίδιο ερωτηματικού (vbQuestion). Η σταθερά vbDefaultButton2 προσδιορίζει το δεύτερο κουμπί (Όχι) ως το προεπιλεγμένο κουμπί — δηλαδή, το κουμπί που κάνει κλικ εάν ο χρήστης πατήσει Enter. Για απλότητα, αυτές οι σταθερές εκχωρούνται στη μεταβλητή Config και στη συνέχεια χρησιμοποιούν το Config ως δεύτερο όρισμα στη συνάρτηση MsgBox:
Sub GetAnswer3()
Dim Config As Long
Dim Ans ως ακέραιος αριθμός
Config = vbYesNo + vbQuestion + vbDefaultButton2
Ans = MsgBox ("Επεξεργασία της μηνιαίας αναφοράς;", Config)
Εάν Ans = vbYes, τότε RunReport
End Sub
Ελέγξτε το πλαίσιο μηνύματος που εμφανίζει το Excel όταν εκτελείτε τη διαδικασία GetAnswer3. Εάν ο χρήστης κάνει κλικ στο κουμπί Ναι, η ρουτίνα εκτελεί τη διαδικασία με το όνομα RunReport. Εάν ο χρήστης κάνει κλικ στο κουμπί Όχι (ή πατήσει Enter), η ρουτίνα τελειώνει χωρίς καμία ενέργεια. Επειδή το όρισμα τίτλος παραλείφθηκε στη συνάρτηση MsgBox, το Excel χρησιμοποιεί τον προεπιλεγμένο τίτλο, Microsoft Excel.
Το όρισμα κουμπιών της συνάρτησης MsgBox καθορίζει τι εμφανίζεται στο πλαίσιο μηνύματος.
Η ακόλουθη ρουτίνα παρέχει ένα άλλο παράδειγμα χρήσης της συνάρτησης MsgBox:
Sub GetAnswer4()
Dim Msg As String, Title As String
Dim Config ως ακέραιος, Ans ως ακέραιος
Msg = "Θέλετε να επεξεργαστείτε τη μηνιαία αναφορά;"
Msg = Msg & vbNewLine & vbNewLine
Msg = Msg & "Η επεξεργασία της μηνιαίας αναφοράς θα "
Msg = Msg & «διαρκούν περίπου 15 λεπτά. αυτό "
Msg = Msg & "θα δημιουργήσει μια αναφορά 30 σελίδων για "
Msg = Msg & "όλα τα γραφεία πωλήσεων για το τρέχον"
Msg = Msg & "month."
Τίτλος = "XYZ Marketing Company"
Config = vbYesNo + vbQuestion
Ans = MsgBox(Msg, Config, Title)
Εάν Ans = vbYes, τότε RunReport
End Sub
Αυτό το παράδειγμα δείχνει έναν αποτελεσματικό τρόπο για τον καθορισμό ενός μεγαλύτερου μηνύματος σε ένα πλαίσιο μηνύματος. Μια μεταβλητή (Msg) και ο τελεστής συνένωσης (&) χρησιμοποιούνται για τη δημιουργία του μηνύματος σε μια σειρά από δηλώσεις. Η σταθερά vbNewLine εισάγει έναν χαρακτήρα αλλαγής γραμμής που ξεκινά μια νέα γραμμή (χρησιμοποιήστε τη δύο φορές για να εισαγάγετε μια κενή γραμμή). Το όρισμα τίτλος χρησιμοποιείται για την εμφάνιση διαφορετικού τίτλου στο πλαίσιο μηνύματος. Εδώ είναι το πλαίσιο μηνύματος που εμφανίζει το Excel όταν εκτελείτε αυτήν τη διαδικασία.
Αυτό το πλαίσιο διαλόγου, που εμφανίζεται από τη συνάρτηση MsgBox, εμφανίζει έναν τίτλο, ένα εικονίδιο και δύο κουμπιά.
Μπορείτε να χρησιμοποιήσετε σταθερές (όπως vbYes και vbNo) για την τιμή επιστροφής μιας συνάρτησης MsgBox. Εδώ είναι μερικές άλλες σταθερές.
Συνεχής |
αξία |
Τι σημαίνει |
vbOK |
1 |
Ο χρήστης έκανε κλικ στο OK. |
vbΑκύρωση |
2 |
Ο χρήστης έκανε κλικ στο Cancel. |
vbAbort |
3 |
Ο χρήστης έκανε κλικ στο Abort. |
vbRetry |
4 |
Ο χρήστης έκανε κλικ στην Επανάληψη. |
vbIgnore |
5 |
Ο χρήστης έκανε κλικ στην Παράβλεψη. |
vbΝαι |
6 |
Ο χρήστης έκανε κλικ στο Ναι. |
vbNo |
7 |
Ο χρήστης έκανε κλικ στο Όχι. |
Και αυτό είναι λίγο πολύ το μόνο που χρειάζεται να γνωρίζετε για τη λειτουργία MsgBox. Ωστόσο, χρησιμοποιήστε τα κουτιά μηνυμάτων με προσοχή. Συνήθως δεν υπάρχει λόγος να εμφανίζονται πλαίσια μηνυμάτων που δεν εξυπηρετούν κανένα σκοπό. Για παράδειγμα, οι άνθρωποι τείνουν να εκνευρίζονται όταν βλέπουν ένα πλαίσιο μηνύματος κάθε μέρα που γράφει Καλημέρα. Ευχαριστούμε που φορτώσατε το βιβλίο εργασίας Budget Projection.