Ενότητα κλάσης Excel VBA
Η τάξη VBA μας επιτρέπει να δημιουργήσουμε τη δική μας λειτουργία αντικειμένου στην οποία μπορούμε να προσθέσουμε κάθε είδους δυνατότητες, λεπτομέρειες της γραμμής εντολών, τύπο λειτουργίας. Όταν δημιουργούμε Class in VBA, ενεργούν σαν εντελώς ανεξάρτητη συνάρτηση αντικειμένου αλλά όλα συνδέονται μεταξύ τους.
Αυτό μας βοηθά στη δημιουργία εφαρμογών όπως αυτές που υπάρχουν ήδη στο VBA και στο Excel. Για παράδειγμα, ο τροχός κύκλου πεντάλ περιστρέφεται. Τα πεντάλ και οι τροχοί είναι και τα δύο μέρη του κύκλου, αλλά και τα δύο λειτουργούν ανεξάρτητα για να δώσουν την έξοδο ως κινούμενο κύκλο.

Πώς να δημιουργήσετε προσαρμοσμένη κλάση και αντικείμενα στο VBA;
Ας δούμε ένα παράδειγμα 3 κινητών τηλεφώνων διαφορετικών εταιρειών, τα οποία είναι η Apple, η Samsung και η Nokia, λαμβάνοντας υπόψη τα δημοφιλή και πρόσφατα κυκλοφορούντα κινητά τηλέφωνα αυτών των εταιρειών, τα οποία είναι τα iPhone X, Samsung S8 και Nokia 7+.
Θα συγκρίνουμε μερικές από τις σημαντικές δυνατότητες για αυτά τα κινητά τηλέφωνα, όπως Μάρκα, Μοντέλο, Μέγεθος οθόνης, Τύπος κάμερας και Τύπος φορτιστή. Αυτά είναι βασικά σημαντικά χαρακτηριστικά σε αυτή τη βάση. Συγκρίνουμε κυρίως οποιοδήποτε κινητό τηλέφωνο. Παρακάτω έχουμε χαρτογραφήσει τις παραπάνω παραμέτρους σε ένα γράφημα.

Στο παράθυρο VBA από το μενού Insert , επιλέξτε το Class Module, όπως φαίνεται παρακάτω.

Θα πάρουμε το παράθυρο της ενότητας Class ξεκινώντας με το Option Explicit, όπως φαίνεται παρακάτω.

Το Option Explicit διασφαλίζει ότι οι μεταβλητές πρέπει να δηλώνονται πριν από τη χρήση τους. Εάν δεν δηλώσουμε καμία μεταβλητή και δεν τη χρησιμοποιήσουμε, τότε το σύστημα θα εμφανίσει σφάλμα. Τώρα στην τάξη, ορίστε όλες τις παραμέτρους μέτρησης των κινητών τηλεφώνων με το κοινό . Αυτό θα κάνει αυτές τις καθορισμένες παραμέτρους ανοιχτές στη χρήση οποτεδήποτε, οπουδήποτε, χωρίς περιορισμούς.
Κώδικας:
Επιλογή ρητή «Λίστα ακινήτων Δημόσια μάρκα ως συμβολοσειρά δημόσιο μοντέλο ως συμβολοσειρά δημόσια οθόνη Μέγεθος ως συμβολοσειρά δημόσια κάμερα Τύπος ως συμβολοσειρά δημόσιος φορτιστής Τύπος ως συμβολοσειρά

Τώρα θα προσθέσουμε μια διαφορετική διαδικασία λειτουργίας, λειτουργιών και λειτουργιών ενός κινητού τηλεφώνου, όπως εκκίνηση τηλεφώνου, Απενεργοποίηση τηλεφώνου, αναπαραγωγή μουσικής, φόρτιση της μπαταρίας κ.λπ. με Υποκατηγορία για κάθε λειτουργία όπως φαίνεται παρακάτω. Και προσθέστε ένα πλαίσιο μηνύματος σε κάθε βρόχο υποκατηγορίας, ώστε να μπορούμε να δούμε ποιες μεθόδους εκτελούνται αυτήν τη στιγμή.
Κώδικας:
'Πιθανές τεχνικές Sub MobileStarts () MsgBox "Το κινητό ενεργοποιείται" End Sub
Sub MobileOff () MsgBox "Το κινητό είναι απενεργοποιημένο" End Sub
Sub PlayMusic () MsgBox "Το σύστημα ήχου λειτουργεί αυτήν τη στιγμή" End Sub
Sub BatteryCharge () MsgBox "Ο φορτιστής είναι πλέον συνδεδεμένος" End Sub

Αυτό ολοκληρώνει τη δημιουργία του Class. Προτού προχωρήσουμε περαιτέρω, συνιστάται να αλλάξετε το όνομα της ενότητας τάξης. Επιλέξτε οποιοδήποτε όνομα σύμφωνα με την απαίτησή σας καθώς το αλλάζουμε σε κινητό .

Τώρα θα γράψουμε έναν κώδικα σε μια ενότητα όπου θα δούμε και θα συγκρίνουμε τα χαρακτηριστικά και τις λειτουργίες κάθε μάρκας κινητού τηλεφώνου. Για αυτό, πρέπει να προσθέσουμε μια Ενότητα πηγαίνοντας εκεί κάτω από το μενού Εισαγωγή όπως φαίνεται στο μενού.

Θα ανοίξουμε μια νέα λειτουργική μονάδα με ενεργοποιημένη την επιλογή Option Explicit καθώς εργαζόμαστε και δημιουργούμε μια τάξη. Τώρα ξεκινήστε να γράφετε Υποκατηγορία στο όνομα των εκτελούμενων συναρτήσεων όπως φαίνεται παρακάτω.

Μπορούμε να αλλάξουμε το όνομα της ενότητας όπως και για την τάξη. Αυτό μας βοηθά να διατηρούμε τη ταυτόχρονη ταυτότητα του δημιουργημένου κώδικα VBA. Αυτό μπορεί να γίνει από τα παράθυρα ιδιοτήτων, όπως φαίνεται παρακάτω.

Έχουμε ήδη ορίσει διάφορα χαρακτηριστικά, λειτουργίες και μεθόδους όλων των κινητών τηλεφώνων μάρκας. Τώρα ας ορίσουμε 3 μεταβλητές σε οποιοδήποτε όνομα (Κατά προτίμηση στο όνομα της επωνυμίας κινητού τηλεφώνου) και αφήστε τις στο Mobile Ας ξεκινήσουμε πρώτα με το iPhone, όπως φαίνεται παρακάτω.

Ομοίως, κάντε το ίδιο για την υπόλοιπη μάρκα κινητού τηλεφώνου, όπως φαίνεται παρακάτω.

Με αυτό, εκχωρούμε την δημιουργημένη κλάση σε κάθε διαστατική μεταβλητή της μάρκας Mobile. Τώρα για κάθε επωνυμία, κάντε την ίδια διαδικασία ανάθεσης της τάξης .
Τώρα πρέπει να εκχωρήσουμε όλες τις δυνατότητες του κινητού τηλεφώνου και την αξία του. Για αυτό, χρησιμοποιήστε τη συνάρτηση Set και εκχωρήστε την σε ένα νέο κινητό, όπως φαίνεται παρακάτω.

Τώρα ανοίξτε το βρόχο With-End για iPhone. Εδώ θα καθορίσουμε κάθε χαρακτηριστικό του κινητού.

Όπως μπορούμε να δούμε, έχουμε εκχωρήσει όλες τις καθορισμένες δυνατότητες της μάρκας iPhone από την Class με συγκεκριμένες τιμές ως String.
Κάντε το ίδιο πράγμα για τη μάρκα Samsung και Nokia.

Τώρα θα χρησιμοποιήσουμε το DebugPrint για να εκτυπώσουμε τις πληροφορίες στο άμεσο παράθυρο. Είναι χρήσιμο όταν θέλουμε να δούμε μια συγκεκριμένη μεταβλητή σε μια γραμμή κώδικα. Θα επιλέξουμε διαφορετικές λειτουργίες για κάθε μάρκα Mobile, όπως φαίνεται παρακάτω.

Τώρα αντιστοιχίστε τις λειτουργικές λειτουργίες MobileStarts και MobileOff , τις οποίες ορίσαμε στην κατηγορία για κάθε μάρκα κινητής τηλεφωνίας στην ίδια ενότητα μαζί με το πλαίσιο μηνυμάτων. Μπορείτε να παραλείψετε το πλαίσιο μηνυμάτων εδώ.

Αυτό ολοκληρώνει την εκχώρηση της Κλάσης στην Ενότητα. Τώρα συντάξτε τον κωδικό και εκτελέστε χρησιμοποιώντας το πλήκτρο F5. Θα δούμε το μήνυμα κάθε μάρκας για κινητά, όπως φαίνεται παρακάτω.

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

Ο παρακάτω κωδικός είναι για την αναφορά σας.
Κώδικας:
Υπο VBA_Class () Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone. Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6,5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End with Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5,8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" Τέλος με Ρύθμιση Nokia = Νέο κινητό με Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End with Debug.Print "Μέγεθος οθόνης τηλεφώνου είναι: "& iPhone.ScreenSize Debug.Print" Η κάμερα της Samsung είναι: "& Samsung.CameraType Debug.Print "Τύπος φορτιστή είναι:" & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub.
Πλεονεκτήματα
- Μπορούμε να δημιουργήσουμε τη δική μας εφαρμογή με πολλές δυνατότητες.
- Μόλις δημιουργηθεί το Class, μπορούμε να ενημερώσουμε οποιαδήποτε λειτουργία, οποτεδήποτε χρειαζόμαστε.
- Εάν ενημερώσουμε τον κώδικα, τότε επίσης δεν θα προκαλέσει κανένα πρόβλημα σε άλλα μέρη της κλάσης.
- Μπορούμε να δοκιμάσουμε το μεμονωμένο μέρος της εφαρμογής σύμφωνα με τις ανάγκες μας.
Μειονεκτήματα
- Αρχικά, χρειάζεται πολύς χρόνος για να δημιουργήσετε ένα μάθημα στο VBA.
- Οι άνθρωποι που είναι νέοι στο VBA θα δυσκολευτούν πολύ να εφαρμόσουν την τάξη.
Πράγματα που πρέπει να θυμάστε
- Δεδομένου ότι ο κώδικας μπορεί να είναι τεράστιος και μεγάλος, οπότε είναι καλύτερο να συντάξετε τον κώδικα βήμα προς βήμα. Κάνοντας αυτό, θα αποφύγαμε τον αριθμό N των σφαλμάτων, τα οποία θα είναι δύσκολο για εμάς να εντοπίσουμε σφάλματα και να επιλύσουμε.
- Μπορούμε να αγνοήσουμε τη χρήση του Message Box εάν παίρνετε και δοκιμάζετε τον παραπάνω γραμμένο κώδικα.
- Για δοκιμές, μπορείτε να χρησιμοποιήσετε λιγότερες τεχνικές ή λειτουργίες για τη δημιουργία κλάσης. Αυτό μπορεί να τροποποιηθεί αργότερα όταν θέλουμε να προσθέσουμε περισσότερες λειτουργίες και τεχνικές προϊόντων.
- Πάντα να λαμβάνετε υπόψη παρόμοια ή ίδια χαρακτηριστικά όταν ολοκληρώνουμε την τάξη και την εκχώρηση σε μια ενότητα. Αυτό θα μας βοηθήσει στη σύγκριση των χαρακτηριστικών διαφορετικών προϊόντων.