Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2025
Είστε περίεργος πώς να γράψετε μια διαδικασία χειρισμού συμβάντων στη VBA Το VBE σάς βοηθά όταν είστε έτοιμοι να γράψετε μια διαδικασία χειρισμού συμβάντος και εμφανίζει μια λίστα με όλα τα συμβάντα για το επιλεγμένο αντικείμενο
Στην κορυφή κάθε παραθύρου κώδικα υπάρχουν δύο αναπτυσσόμενες λίστες:
-
Η αναπτυσσόμενη λίστα αντικειμένου (η μία στα αριστερά)
-
Η αναπτυσσόμενη λίστα Διαδικασία (η μία στα δεξιά)
Από προεπιλογή, Αν γράφετε ένα χειριστή συμβάντος για το αντικείμενο ThisWorkbook, θα πρέπει να κάνετε κλικ στο ThisWorkbook στο παράθυρο Project και στη συνέχεια να επιλέξετε Workbook από το αναπτυσσόμενο μενού Object (αυτό είναι η μόνη άλλη επιλογή).
Εάν γράφετε ένα πρόγραμμα χειρισμού συμβάντων για ένα αντικείμενο φύλλου, πρέπει να κάνετε κλικ στο συγκεκριμένο φύλλο στο παράθυρο Project και, στη συνέχεια, να επιλέξετε φύλλο εργασίας από την αναπτυσσόμενη λίστα Object (και πάλι, άλλη επιλογή).
Επιλέγοντας ένα συμβάν στο παράθυρο Κώδικα για το αντικείμενο ThisWorkbook.
Όταν επιλέγετε ένα συμβάν από τη λίστα, η VBE ξεκινά αυτόματα τη διαδικασία χειρισμού συμβάντων για εσάς. Αυτό είναι ένα πολύ χρήσιμο χαρακτηριστικό, διότι σας λέει ακριβώς ποια είναι τα σωστά επιχειρήματα.
Η βοήθεια του VBE πηγαίνει μόνο μέχρι τώρα. Γράφει τη δήλωση Sub και τη δήλωση End Sub. Η σύνταξη του κώδικα VBA που πηγαίνει ανάμεσα σε αυτές τις δύο δηλώσεις είναι δουλειά σας.
Δεν χρειάζεται να χρησιμοποιήσετε αυτές τις δύο λίστες, αλλά το κάνει πιο εύκολη η εργασία σας, επειδή το όνομα της διαδικασίας χειρισμού συμβάντων είναι εξαιρετικά σημαντικό. Αν δεν πάρετε το όνομα ακριβώς σωστά, η διαδικασία δεν θα λειτουργήσει. Επίσης, ορισμένες διαδικασίες χειρισμού συμβάντων χρησιμοποιούν ένα ή περισσότερα επιχειρήματα στη δήλωση Sub. Δεν υπάρχει τρόπος να θυμηθείτε ποια είναι τα επιχειρήματα αυτά. Για παράδειγμα, αν επιλέξετε το SheetActivate από τη λίστα συμβάντων για ένα αντικείμενο βιβλίου εργασίας, η VBE γράφει την ακόλουθη πρόταση Sub:
Private Sub Workbook_SheetActivate (ByVal Sh As Object)
Στην περίπτωση αυτή, Sh είναι το επιχείρημα που διαβιβάστηκε στη διαδικασία και είναι μια μεταβλητή που αντιπροσωπεύει το φύλλο στο ενεργό βιβλίο εργασίας.