Εργασία με vba σε εφαρμογή ms excel. Μοντέλο αντικειμένου MS Excel

Διάλεξη Μοντέλο αντικειμένου MS Excel.

1. γενικά χαρακτηριστικάΜοντέλο αντικειμένου MS Excel

2. Χαρακτηριστικά αντικειμένων

3. Εργασία σε περιβάλλον VBA. Διαχείριση ιδιοτήτων αντικειμένων

Εισαγωγή

Πινακοειδής Επεξεργαστής Excelείναι ένα πρόγραμμα με αρκετά ευρείες δυνατότητες, με τα περισσότερα από τα οποία είστε εξοικειωμένοι. Ωστόσο, εκτός από αυτό, οι προγραμματιστές έχουν συμπεριλάβει εργαλεία προσαρμογής σε αυτό για να αυξήσουν την αποτελεσματικότητα της επίλυσης συγκεκριμένων προβλημάτων. Αυτά τα μέσα περιλαμβάνουν διάφορες ρυθμίσεις, εργαλεία για την αυτοματοποίηση των ενεργειών των χρηστών (μακροεντολές), καθώς και ένα ενσωματωμένο σύστημα προγραμματισμού VBA. Η ίδια η εφαρμογή αναπτύσσεται με χρήση OOP και η VBA παρέχει πρόσβαση σε αντικείμενα προγράμματος, έτσι ώστε ένας εξειδικευμένος χρήστης να έχει σχεδόν απεριόριστες δυνατότητες προσαρμογής αυτής της εφαρμογής. Σε αυτό και στα επόμενα μαθήματα θα σας παρουσιάσουμε πώς μπορεί να χρησιμοποιηθεί.

1. Γενικά χαρακτηριστικά του μοντέλου αντικειμένουΚυρίαΠροέχω

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

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

Οι μέθοδοι είναι ενέργειες που εκτελούνται από ένα αντικείμενο, τους τελεστές που λειτουργούν. Γενικά, οι μέθοδοι είναι διαδικασίες (ενέργειες) που μπορούν να εκτελεστούν και οι ιδιότητες είναι χαρακτηριστικά που μπορούν να οριστούν από τον χρήστη ή το σύστημα.

Κατά την εκτέλεση προγραμμάτων OOP, εφαρμόζεται η αρχή συμβάντων, η ουσία της οποίας είναι ότι τα αντικείμενα του προγράμματος μπορούν να αντιδράσουν σε γεγονότα που συμβαίνουν στο σύστημα. Τα συμβάντα είναι μηνύματα που καθορίζουν τη σειρά των ενεργειών ενός προγράμματος. Τα συμβάντα μπορεί να είναι διαφορετικής φύσης - κλικ του ποντικιού, κίνηση του δείκτη του ποντικιού, εισαγωγή ή αλλαγή δεδομένων, κλικ σε κουμπιά στα παράθυρα του προγράμματος ή στα πλήκτρα του πληκτρολογίου, σφάλματα προγράμματος και συστήματος κ.λπ. Η αντίδραση συνίσταται στην εκτέλεση μιας από τις μεθόδους του αντικειμένου. Τα περισσότερα αντικείμενα χαρακτηρίζονται από ένα συμβάν κλικ, το οποίο συμβαίνει όταν κάνετε κλικ στο αριστερό κουμπί του ποντικιού στο επιλεγμένο αντικείμενο. Χαρακτηριστικά είναι επίσης τα ακόλουθα συμβάντα: DblClick (διπλό κλικ), MouseDown, MouseUp (πάτημα και απελευθέρωση του κουμπιού του ποντικιού), Exit και Enter (χάνοντας και κερδίζετε εστίαση) και πολλά άλλα.

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

Εάν δεν υπάρχει αντικείμενο με τα απαιτούμενα χαρακτηριστικά, ο προγραμματιστής μπορεί να δημιουργήσει ένα τέτοιο αντικείμενο και στη συνέχεια να το χρησιμοποιήσει σε αυτό ή σε άλλο πρόγραμμα.

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

Το μοντέλο αντικειμένου MS Excel είναι μια ιεραρχία αντικειμένων που εξαρτώνται από το αντικείμενο Εφαρμογή, που αντιστοιχεί στην ίδια την εφαρμογή.

Ο αριθμός των αντικειμένων είναι αρκετά μεγάλος, σχηματίζουν μια δομή που μοιάζει με δέντρο (τα μικρότερα κλαδιά είναι ιδιότητες μεγαλύτερων). Η ρίζα αυτού του «δέντρου» (το αρχικό αντικείμενο) είναι η Εφαρμογή (η ίδια η εφαρμογή MS Excel).

Μερικά αντικείμενα είναι μεμονωμένα (υπάρχουν δηλαδή σε ένα μόνο αντίγραφο), και μερικά είναι μέλη συλλογών (οικογένειες). Για μεμονωμένα αντικείμενα, αρκεί να καθορίσετε το όνομα και για τα μέλη της οικογένειας - το οικογενειακό όνομα και τον αριθμό ή το όνομα του μέλους της οικογένειας.


Παρακάτω είναι μερικά από τα αντικείμενα MS Excel που θα χρησιμοποιήσουμε στα προγράμματά μας.

Ρύζι. 1. Απλοποιημένο μοντέλο αντικειμένου του Excel

Σε αυτό το σχήμα, για τις οικογένειες, τα ονόματα των αντικειμένων από τις οικογένειες γράφονται σε παρένθεση.

Για πρόσβαση σε μια ιδιότητα ή μια μέθοδο ενός αντικειμένου (αναφορά αντικειμένου), μπορεί να χρησιμοποιηθεί είτε μια πλήρης είτε μια σιωπηρή αναφορά.

Μια πλήρης αναφορά αποτελείται από μια σειρά από ένθετα ονόματα αντικειμένων (σύμφωνα με μια ιεραρχία). Μια κουκκίδα χρησιμοποιείται ως διαχωριστικό ονόματος. Για παράδειγμα, πλήρης σύνδεσμοςστο κελί A5 του φύλλου εργασίας Φύλλο 1ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ Βιβλίο 1(και, για παράδειγμα, γράφοντας τον αριθμό 10 σε αυτό) στον τελεστή εκχώρησης έχει τη μορφή:

Application.Workbooks ("Βιβλίο1").Φύλλα εργασίας ("Φύλλο1").Εύρος ("A5") = 10

Μοντέλο αντικειμένου Excel

Αντικείμενα Excel

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

Μιλώντας για αντικείμενα ΠροέχωΣυνιστάται να ξεκινήσετε κοιτάζοντας τον σκελετό του εγγράφου Προέχω. Έχω γράψει πολλά για τη σημαντική έννοια του σκελετού εγγράφων σε προηγούμενα βιβλία. Οι πολυάριθμες βιβλιοθήκες αντικειμένων του Office 2000, η ​​συλλογή των οποίων αντιπροσωπεύει το Office 2000 στον προγραμματιστή, παρέχουν το πλαίσιο για όλα τα έγγραφα που μπορούν να δημιουργηθούν σε αυτό το περιβάλλον. Όταν δημιουργείται νέο έγγραφο, Για παράδειγμα, Βιβλίο εργασίας του Excel, τότε από προεπιλογή επιλέγονται αρκετές βιβλιοθήκες από ολόκληρο το σύνολο βιβλιοθηκών, τα αντικείμενα των οποίων αποτελούν το πλαίσιο του εγγράφου. Αυτά τα αντικείμενα είναι διαθέσιμα στον προγραμματιστή χωρίς καμία επιπλέον προσπάθεια. Κεντρικός ρόλος στο πλαίσιο εγγράφων Προέχωπαίζεται, φυσικά, από αντικείμενα της βιβλιοθήκης Προέχω. Αλλά η γνώσηκαι όλα τα άλλα αντικείμενα που περιλαμβάνονται στο πλαίσιο είναι απαραίτητα. Για παράδειγμα, όταν δημιουργία λογισμικούη διεπαφή είναι απαραίτητη η γνώσηΚοινόχρηστα αντικείμενα βιβλιοθήκης του Office. Θα σημειώσω επίσης ότι, εάν το επιθυμεί, ο προγραμματιστής μπορεί πάντα να επεκτείνει το πλαίσιο εγγράφων προσθέτοντας ορισμένες βιβλιοθήκες σε αυτό. Το wireframe που δημιουργείται από προεπιλογή όταν ανοίγει ένα νέο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ, αποτελείται από αντικείμενα που περιλαμβάνονται στις ακόλουθες βιβλιοθήκες:

· Προέχω- μια βιβλιοθήκη που θέτει τη βάση για έγγραφα Excel. Εδώ αποθηκεύεται η κλάση που ορίζει το ριζικό αντικείμενο Excel.Application και όλες οι κλάσεις αντικειμένων που είναι ένθετες στο ριζικό αντικείμενο.

· Γραφείο- μια βιβλιοθήκη αντικειμένων κοινά για όλους Εφαρμογές γραφείου 2000. Εδώ είναι οι κλάσεις που ορίζουν ταμπλό- CommandBar και κλάσεις άλλων κοινών αντικειμένων. Οι κλάσεις που ορίζουν τον Βοηθό βρίσκονται επίσης εδώ (το αντικείμενο Assistant και όλες οι κλάσεις που σχετίζονται με αυτό). Συγκεκριμένα, εμφανίστηκε ένα νέο αντικείμενο που δεν υπήρχε στην προηγούμενη έκδοση - ο Οδηγός απαντήσεων.

· Stdole- μια βιβλιοθήκη κλάσης που σας επιτρέπει να εργάζεστε με αντικείμενα OLE και να εφαρμόζετε την Αυτοματοποίηση.

· VBA- βιβλιοθήκη μαθημάτων που σχετίζονται με τη γλώσσα VBA. Όλα είναι αποθηκευμένα εδώ τυποποιημένα χαρακτηριστικάκαι σταθερές ενσωματωμένες στη γλώσσα, στις κλάσεις Collection και ErrObject.

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

Αν συγκρίνουμε το πλαίσιο του βιβλίου εργασίας Προέχω, για παράδειγμα, με πλαίσιο εγγράφου Λέξη, τότε διαφέρουν στο ότι το ένα βασίζεται σε βιβλιοθήκη Προέχω, το άλλο βασίζεται σε μια βιβλιοθήκη Λέξη. Αυτές οι βιβλιοθήκες περιέχουν αντικείμενα ειδικά για την εφαρμογή. Όσον αφορά τα αντικείμενα διεπαφής, τα αντικείμενα που ορίζουν το περιβάλλον του επεξεργαστή VBA, αυτοματισμός, τότε χρησιμοποιούνται εδώ κοινά αντικείμενα. Βιβλιοθήκες Γραφείων, Stdole, VBA- Αυτές είναι κοινές βιβλιοθήκες για όλες τις εφαρμογές του Office 2000. Μίλησα αναλυτικά για τα αντικείμενα αυτών των βιβλιοθηκών στο .

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

Μοντέλο αντικειμένου Excel

Πρώτα απ 'όλα, λίγα λόγια για το πώς λειτουργεί Μοντέλο αντικειμένου Excelκαι άλλες εφαρμογές του Office 2000 Σε αυτό το μοντέλο, τα αντικείμενα σχετίζονται μεταξύ τους από τη σχέση ενσωμάτωση. Στο μηδενικό επίπεδο της ιεραρχίας υπάρχει κάποια κεντρική ένα αντικείμενο, στο οποίο είναι ενσωματωμένα άλλα αντικείμενα που αποτελούν το πρώτο επίπεδο της ιεραρχίας. Τα αντικείμενα του επόμενου επιπέδου μπορούν να ενσωματωθούν σε καθένα από τα αντικείμενα του πρώτου και των επόμενων επιπέδων. Αυτή η διαδικασία λοιπόν συνεχίζεται. Έτσι, τα αντικείμενα σε αυτό το μοντέλο είναι «παχιά» επειδή έχουν μεγάλο αριθμό άλλων αντικειμένων ενσωματωμένα μέσα τους. Αυτό ισχύει ιδιαίτερα για αντικείμενα που στέκονται επάνω ανώτερα επίπεδαιεραρχία.

Σχόλιο: Η διάλεξη είναι αφιερωμένη σε μια περιγραφή του μοντέλου αντικειμένου MS Excel και σε μια λεπτομερή περιγραφή των μεθόδων εφαρμογής, ιδιοτήτων και συμβάντων.

13.1. Δυνατότητες προγραμματισμού για MS Excel

Microsoft Office Excelείναι δημοφιλή υπολογιστικά φύλλα. Συνήθως, κατά τον προγραμματισμό για αυτό το πρόγραμμα, επιδιώκονται οι ακόλουθοι στόχοι:

  • Αυτοματοποίηση υπολογισμών.
  • Αυτοματοποίηση εισαγωγής και επεξεργασίας πληροφοριών.
  • Εργασία με βάσεις δεδομένων - έξοδος, εισαγωγή, ανάλυση, οπτικοποίηση πληροφοριών.
  • Ανάλυση οικονομικών και άλλων πληροφοριών.
  • Δημιουργία συστημάτων οργάνωσης αυτοματοποιημένης εισαγωγής δεδομένων
  • Μαθηματική μοντελοποίηση.

ΣΕ γενική εικόνα προγραμματισμόςστο Excel είναι παρόμοια με την εργασία με Microsoft Word. Ωστόσο, μια από τις κύριες διαφορές είναι αυτή στο Excel Χώρος εργασίαςΤο φύλλο χωρίζεται σε κελιά, καθένα από τα οποία έχει το δικό του όνομα. Τα ονόματα κελιών μπορεί να είναι δύο τύπων.

  • Το πρώτο είδος (στυλ A1) είναι ένα όνομα που αποτελείται από ένα αλφαβητικό όνομα στήλης και έναν αριθμό γραμμής. Για παράδειγμα, το A1 είναι το κελί που βρίσκεται στη διασταύρωση της στήλης Α (πρώτη) και της πρώτης σειράς.
  • Ένας άλλος τύπος είναι οι δείκτες κελιών (στυλ ονομασίας R1C1). Για να απευθυνθείτε σε ένα κελί σε αυτό το στυλ, υποδείξτε τον αριθμό σειράς (R - Γραμμή) και τον αριθμό της στήλης (C - Στήλη) στη διασταύρωση των οποίων βρίσκεται το κελί. Οι σειρές είναι αρχικά αριθμημένες και οι αριθμοί στηλών ξεκινούν από το 1 - η πρώτη στήλη αντιστοιχεί στη στήλη Α, η δεύτερη - Β κ.λπ. Για παράδειγμα, το (2, 3) είναι η διεύθυνση του κελιού που βρίσκεται στη διασταύρωση της δεύτερης σειράς και της τρίτης στήλης, δηλαδή, εάν το μεταφέρουμε στο στυλ A1, θα έχουμε το κελί C2 (Εικ. 13.1.)


Ρύζι. 13.1.

Τα ακόλουθα αντικείμενα χρησιμοποιούνται για την εκτέλεση των περισσότερων λειτουργιών στο MS Excel.

  • Excel.Application - ένα αντικείμενο που αντιπροσωπεύει μια εφαρμογή Microsoft Excel, παρόμοιο με το Word.Application .
  • ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ(Βιβλίο εργασίας) - αντιπροσωπεύει ένα βιβλίο εργασίας - αναλογικό Έγγραφο της MicrosoftΛέξη. Ωστόσο, στο Word εργαζόμαστε με δεδομένα που βρίσκονται σε ένα έγγραφο και στο Excel υπάρχει ένα άλλο αντικείμενο στο δρόμο προς τα δεδομένα - ένα φύλλο εργασίας.
  • Φύλλο εργασίας(Φύλλο εργασίας) - ένα βιβλίο εργασίας στο MS Excel χωρίζεται σε φύλλα εργασίας. Στο φύλλο υπάρχουν κελιά που μπορούν να αποθηκεύσουν πληροφορίες και τύπους.
  • Εύρος - μπορεί να αναπαρασταθεί ως ένα μεμονωμένο κελί ή μια ομάδα κελιών. Αυτό το αντικείμενο αντικαθιστά πολλά αντικείμενα για εργασία με στοιχεία εγγράφου (χαρακτήρας, λέξη κ.λπ.) που χρησιμοποιούνται στο Microsoft Word. Ως αποτέλεσμα, η εργασία με το φύλλο γίνεται πολύ σαφής και βολική - για να εργαστείτε με οποιοδήποτε κελί, χρειάζεται μόνο να γνωρίζετε το όνομά του (σε μορφή A1) ή τη διεύθυνσή του (R1C1).
  • QueryTable - αυτό το αντικείμενο χρησιμοποιείται για την εισαγωγή πληροφοριών από βάσεις δεδομένων στο Microsoft Excel. Σύνδεση στη βάση δεδομένων, αίτημα για πληροφορίες κ.λπ. παράγονται χρησιμοποιώντας το αντικείμενο και τα αποτελέσματα της αίτησης μεταφορτώνονται σε ένα φύλλο MS Excel με τη μορφή κανονικού πίνακα.
  • Συγκεντρωτικός Πίνακας είναι ιδιαίτερο είδοςηλεκτρονικός πίνακες Excel- το επιτρέπει διαδραστική λειτουργίασυνοψίζουν και αναλύουν μεγάλες ποσότητες πληροφοριών, ιδίως προερχόμενες από βάση δεδομένων.
  • Διάγραμμα(Διάγραμμα) - αντιπροσωπεύει ένα διάγραμμα. Συνήθως χρησιμοποιούνται για οπτικοποίηση δεδομένων.

Ας ξεκινήσουμε την αναθεώρηση Μοντέλο αντικειμένου MS Excelαπό το αντικείμενο Εφαρμογή.

13.2. Αντικείμενο εφαρμογής

MsgBox Excel.Application.Name Λίστα 13.1. Εμφάνιση ονόματος εφαρμογής

Μετά την εκτέλεση του προγράμματος, ένα πλαίσιο μηνύματος θα εμφανίσει το όνομα της εφαρμογής - σε αυτήν την περίπτωση, Microsoft Excel. Προφανώς, η ιδιότητα Όνομα του αντικειμένου Εφαρμογή επιστρέφει το όνομα της εφαρμογής.

Τώρα ας δούμε τα περισσότερα σημαντικές μεθόδουςκαι ιδιότητες εφαρμογής. Μερικά από αυτά είναι παρόμοια με αυτά στο MS Word. Για παράδειγμα, η μέθοδος Quit, όπως και στο Word, κλείνει την εφαρμογή. Ορατό ακίνητοείναι υπεύθυνος για την ορατότητα του παραθύρου του προγράμματος κ.λπ.

13.3. Μέθοδοι Εφαρμογής

13.3.1. Υπολογισμός - αναγκαστικός επανυπολογισμός

Αυτή η μέθοδος, που καλείται στο αντικείμενο Εφαρμογή, σας επιτρέπει να μετράτε όλα τα ανοίγματα βιβλίων. Μπορεί επίσης να κληθεί για μεμονωμένα βιβλία (αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ) φύλλα ( Φύλλο εργασίας), κελιά και το εύρος τους (Εύρος). Για παράδειγμα, ο κωδικός από τη Λίστα 13.2. σας επιτρέπει να μετράτε όλα τα ανοιχτά βιβλία.

Εφαρμογή.Υπολογισμός Λίστα 13.2. Μετρήστε όλα τα ανοιχτά βιβλία

13.3.2. GoTo - μετάβαση στο κελί

13-02-Excel GoTo.xlsm - παράδειγμα για την ρήτρα 13.3.2.

Σας επιτρέπει να επιλέξετε οποιαδήποτε περιοχή κελιών σε οποιοδήποτε βιβλίο και εάν το βιβλίο δεν είναι ενεργό, θα ενεργοποιηθεί. Η μέθοδος μπορεί επίσης να εκτελεστεί Μακροεντολές της MicrosoftΠροέχω.

Η πλήρης κλήση μεθόδου μοιάζει με αυτό:

Μετάβαση (Αναφορά, κύλιση)

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

Η παράμετρος Scroll είναι υπεύθυνη για την "επανατύλιξη" Φύλλο Excelστα επιλεγμένα κελιά - έτσι ώστε η επάνω αριστερή γωνία της επιλογής να συμπίπτει με την επάνω αριστερή γωνία της εμφανιζόμενης περιοχής του φύλλου. Εάν το Scroll έχει οριστεί σε True, το φύλλο επανατυλίγεται εάν έχει οριστεί σε False, δεν είναι.

Για παράδειγμα, μια τέτοια κλήση (Λίστα 13.3) σάς επιτρέπει να επιλέξετε το κελί H500 στο ενεργό φύλλο.

Application.Goto _ Reference:=ActiveSheet.Range("H500"), _ Scroll:=True Λίστα 13.3. Επιλέξτε το κελί H500

Όπως μπορείτε να δείτε, η πρόσβαση σε ένα ενεργό φύλλο μοιάζει πολύ με την πρόσβαση σε ένα ενεργό έγγραφο στο MS Word. Σημειώστε ότι χρησιμοποιούμε μια κλήση πλήρους μεθόδου - Application.GoTo - όπως γνωρίζετε, μπορείτε συνήθως να χρησιμοποιήσετε τις ιδιότητες και τις μεθόδους του αντικειμένου εφαρμογής σε κώδικα χωρίς να καθορίσετε το αντικείμενο. Ωστόσο, εάν δεν καθορίσετε Εφαρμογή σε αυτήν την περίπτωση, τότε αντί για τη μέθοδο GoTo το πρόγραμμα θα προσπαθήσει να εκτελέσει χειριστή άνευ όρων άλματοςΠαω σε.

13.3.3. SendKeys - προσομοίωση πατημάτων πλήκτρων πληκτρολογίου

13-03-Excel SendKeys.xlsm - παράδειγμα για τον όρο 13.3.3.

Μια πολύ ενδιαφέρουσα μέθοδος - σας επιτρέπει να μεταφέρετε πληκτρολογήσεις στο ενεργό παράθυρο της εφαρμογής. Η πλήρης κλήση μεθόδου μοιάζει με αυτό:

SendKeys (Κλειδιά, Αναμονή)

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

Για να περάσετε πατήματα πλήκτρων σε μια εφαρμογή Backspace- χρησιμοποιήστε τον κωδικό (BS). Για να μεταδώσετε ένα κουμπί πατήστε Εισαγωχρησιμοποιήστε το εικονίδιο ~ (

Ορος Αντικείμενα Excel(που γίνεται ευρέως κατανοητό ως μοντέλο αντικειμένου Excel) περιλαμβάνει τα στοιχεία που συνθέτουν οποιοδήποτε βιβλίο εργασίας του Excel. Αυτά είναι, για παράδειγμα, φύλλα εργασίας ( Φύλλα εργασίας), χορδές ( Σειρές), στήλες ( Στήλες), εύρη κελιών ( Σειρές) και το ίδιο το βιβλίο εργασίας του Excel ( ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ) συμπεριλαμβανομένου. Κάθε αντικείμενο του Excel έχει ένα σύνολο ιδιοτήτων που αποτελούν αναπόσπαστο μέρος του.

Για παράδειγμα, αντικείμενο Φύλλο εργασίας(φύλλο εργασίας) έχει ιδιότητες Ονομα(Ονομα), ΠΡΟΣΤΑΣΙΑ(ΠΡΟΣΤΑΣΙΑ), Ορατός(ορατότητα), Περιοχή κύλισης(περιοχή κύλισης) και ούτω καθεξής. Έτσι, εάν κατά την εκτέλεση μιας μακροεντολής πρέπει να αποκρύψετε το φύλλο εργασίας, τότε απλώς αλλάξτε την ιδιότητα Ορατόςαυτό το φύλλο.

ΣΕ Excel VBAυπάρχει ένας ειδικός τύπος αντικειμένων - συλλογή. Όπως υποδηλώνει το όνομα, μια συλλογή αναφέρεται σε μια ομάδα (ή συλλογή) αντικειμένων του Excel. Για παράδειγμα, μια συλλογή Σειρέςείναι ένα αντικείμενο που περιέχει όλες τις σειρές του φύλλου εργασίας.

Όλα τα κύρια αντικείμενα του Excel είναι προσβάσιμα (άμεσα ή έμμεσα) μέσω του αντικειμένου Τετράδια εργασιών, το οποίο είναι μια συλλογή όλων των ανοιχτών βιβλίων εργασίας. Κάθε βιβλίο εργασίας περιέχει ένα αντικείμενο Φύλλα– μια συλλογή που περιλαμβάνει όλα τα φύλλα εργασίας και τα φύλλα διαγραμμάτων στο βιβλίο εργασίας. Κάθε αντικείμενο Φύλλο εργασίαςαποτελείται από μια συλλογή Σειρές– περιλαμβάνει όλες τις γραμμές του φύλλου εργασίας και τις συλλογές Στήλες– όλες οι στήλες του φύλλου εργασίας και ούτω καθεξής.

Ο παρακάτω πίνακας παραθέτει μερικά από τα πιο συχνά χρησιμοποιούμενα αντικείμενα του Excel. Μπορείτε να βρείτε μια πλήρη λίστα αντικειμένων Excel VBA στον ιστότοπο του Microsoft Office Developer (στα Αγγλικά).

Ενα αντικείμενο Περιγραφή
Εφαρμογή Εφαρμογή Excel.
Τετράδια εργασιών Μια συλλογή όλων των ανοιχτών βιβλίων εργασίας τρέχουσα εφαρμογήΠροέχω. Ένα συγκεκριμένο βιβλίο εργασίας μπορεί να προσπελαστεί μέσω ενός αντικειμένου Τετράδια εργασιώνχρησιμοποιώντας το αριθμητικό ευρετήριο του βιβλίου εργασίας ή το όνομά του, για παράδειγμα, Τετράδια εργασιών (1)ή Τετράδια εργασίας ("Βιβλίο1").
ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ Ενα αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ- Αυτό είναι ένα βιβλίο εργασίας. Είναι προσβάσιμο μέσω της συλλογής Τετράδια εργασιώνχρησιμοποιώντας ένα αριθμητικό ευρετήριο ή ένα όνομα βιβλίου εργασίας (δείτε παραπάνω). Για πρόσβαση στο τρέχον ενεργό βιβλίο εργασίας, μπορείτε να χρησιμοποιήσετε ActiveWorkbook.

Από αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝμπορείτε να έχετε πρόσβαση στο αντικείμενο Φύλλα, το οποίο είναι μια συλλογή όλων των φύλλων σε ένα βιβλίο εργασίας (φύλλα εργασίας και γραφήματα) καθώς και ένα αντικείμενο Φύλλα εργασίας, το οποίο είναι μια συλλογή όλων των φύλλων εργασίας Βιβλία εργασίας του Excel.

Φύλλα Ενα αντικείμενο Φύλλαείναι μια συλλογή όλων των φύλλων σε ένα βιβλίο εργασίας. Αυτά μπορεί να είναι είτε φύλλα εργασίας είτε διαγράμματα. ξεχωριστό χαρτί. Πρόσβαση σε ένα μεμονωμένο φύλλο από μια συλλογή Φύλλαμπορεί να ληφθεί χρησιμοποιώντας το αριθμητικό ευρετήριο του φύλλου ή το όνομά του, για παράδειγμα, Φύλλα (1)ή Φύλλα ("Φύλλο1").
Φύλλα εργασίας Ενα αντικείμενο Φύλλα εργασίαςείναι μια συλλογή όλων των φύλλων εργασίας σε ένα βιβλίο εργασίας (δηλαδή, όλα τα φύλλα εργασίας εκτός από τα γραφήματα σε ένα ξεχωριστό φύλλο). Πρόσβαση σε ένα μεμονωμένο φύλλο εργασίας από μια συλλογή Φύλλα εργασίαςμπορεί να ληφθεί χρησιμοποιώντας το αριθμητικό ευρετήριο του φύλλου εργασίας ή το όνομά του, για παράδειγμα, Φύλλα εργασίας (1)ή Φύλλα εργασίας ("Φύλλο 1").
Φύλλο εργασίας Ενα αντικείμενο Φύλλο εργασίαςείναι ένα ξεχωριστό φύλλο εργασίας σε ένα βιβλίο εργασίας του Excel. Μπορείτε να προσπελάσετε χρησιμοποιώντας το αριθμητικό ευρετήριο του φύλλου εργασίας ή το όνομα του φύλλου εργασίας (δείτε παραπάνω).

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

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

Μια περιοχή που αποτελείται από ένα μόνο κελί μπορεί να προσπελαστεί μέσω ενός αντικειμένου Φύλλο εργασίαςχρησιμοποιώντας ιδιοκτησία Κύτταρα, Για παράδειγμα, Φύλλο εργασίας.Κελιά(1,1).

Με άλλο τρόπο, μια αναφορά σε μια περιοχή μπορεί να γραφτεί καθορίζοντας τις διευθύνσεις των κελιών έναρξης και λήξης. Μπορούν να γραφτούν χωρισμένα με άνω και κάτω τελεία ή κόμμα. Για παράδειγμα, Φύλλο εργασίας.Εύρος ("A1:B10")ή Φύλλο εργασίας.Εύρος ("A1", "B10")ή Φύλλο εργασίας.Εύρος(Κελιά(1,1), Κελιά(10,2)).

Σημειώστε εάν η διεύθυνση Εύροςτο δεύτερο κελί δεν καθορίζεται (για παράδειγμα, Φύλλο εργασίας.Εύρος ("A1")ή Φύλλο εργασίας.Εύρος(Κελιά(1,1)), τότε θα επιλεγεί μια περιοχή που αποτελείται από ένα μόνο κελί.

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

Βιβλίο εργασίας("Βιβλίο1").Φύλλα εργασίας("Φύλλο1").Εύρος("A1:B10")

Αντιστοίχιση αντικειμένου σε μια μεταβλητή

Στο Excel VBA, ένα αντικείμενο μπορεί να αντιστοιχιστεί σε μια μεταβλητή χρησιμοποιώντας μια λέξη-κλειδί Σειρά:

Dim DataWb ως βιβλίο εργασίας Set DataWb = Βιβλία εργασίας ("Book1.xlsx")

Ενεργό αντικείμενο

Υπάρχει ένα ενεργό αντικείμενο στο Excel ανά πάσα στιγμή ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝείναι το βιβλίο εργασίας ανοιχτό αυτήν τη στιγμή. Ομοίως, υπάρχει ένα ενεργό αντικείμενο Φύλλο εργασίας, ενεργό αντικείμενο Εύροςκαι ούτω καθεξής.

Ανατρέξτε στο ενεργό αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝή Σεντόνιστον κώδικα VBA μπορείτε να κάνετε ως εξής: ActiveWorkbookή Ενεργό Φύλλοκαι στο ενεργό αντικείμενο Εύρος-Πώς Επιλογή.

Εάν ο κώδικας VBA περιέχει μια αναφορά σε ένα φύλλο εργασίας χωρίς να προσδιορίζει σε ποιο βιβλίο εργασίας ανήκει, το Excel ορίζει από προεπιλογή το ενεργό βιβλίο εργασίας. Ομοίως, εάν αναφέρετε ένα εύρος χωρίς να καθορίσετε ένα συγκεκριμένο βιβλίο εργασίας ή φύλλο, το Excel θα είναι από προεπιλογή το ενεργό φύλλο εργασίας στο ενεργό βιβλίο εργασίας.

Για να αναφερθούμε λοιπόν σε ένα εύρος A1:B10στο ενεργό φύλλο εργασίας του ενεργού βιβλίου εργασίας, μπορείτε απλά να γράψετε:

Εύρος ("A1:B10")

Αλλαγή του ενεργού αντικειμένου

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

Δευτερεύοντα βιβλία εργασίας ActivateAndSelect("Book2").Ενεργοποίηση φύλλων εργασίας("Φύλλο2").Επιλέξτε φύλλα εργασίας("Φύλλο2").Εύρος("A1:B10").Επιλέξτε φύλλα εργασίας("Φύλλο2").Εύρος ("A5") .Ενεργοποίηση End Sub

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

Ιδιότητες αντικειμένου

Κάθε αντικείμενο VBA έχει ιδιότητες που του έχουν εκχωρηθεί. Για παράδειγμα, αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝέχει ιδιότητες Ονομα(Ονομα), Αριθμός αναθεώρησης(αριθμός αποθηκευμένων), Φύλλα(σεντόνια) και πολλά άλλα. Για να αποκτήσετε πρόσβαση στις ιδιότητες ενός αντικειμένου, πρέπει να γράψετε το όνομα του αντικειμένου, μετά μια τελεία και μετά το όνομα της ιδιότητας. Για παράδειγμα, η πρόσβαση στο όνομα του ενεργού βιβλίου εργασίας μπορεί να γίνει ως εξής: ActiveWorkbook.Όνομα. Έτσι, για να αντιστοιχίσετε σε μια μεταβλητή wbΌνομαόνομα του ενεργού βιβλίου εργασίας, μπορείτε να χρησιμοποιήσετε αυτόν τον κωδικό:

Dim wbName ως συμβολοσειρά wbName = ActiveWorkbook.Name

Προηγουμένως δείξαμε πώς ένα αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝμπορεί να χρησιμοποιηθεί για πρόσβαση σε ένα αντικείμενο Φύλλο εργασίαςχρησιμοποιώντας αυτήν την εντολή:

Τετράδια εργασίας ("Βιβλίο1"). Φύλλα εργασίας ("Φύλλο1")

Αυτό είναι δυνατό επειδή η συλλογή Φύλλα εργασίαςείναι ιδιότητα ενός αντικειμένου ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝ.

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

ActiveSheet.Name = "Το φύλλο εργασίας μου"

Μέθοδοι αντικειμένου

Τα αντικείμενα VBA έχουν μεθόδους για την εκτέλεση συγκεκριμένων ενεργειών. Μέθοδοι αντικειμένουείναι διαδικασίες που συνδέονται με αντικείμενα ορισμένου τύπου. Για παράδειγμα, αντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝέχει μεθόδους Δραστηριοποιώ, Κλείσε, Αποθηκεύσετεκαι πολλά άλλα.

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

ActiveWorkbook.Save

Όπως και άλλες διαδικασίες, οι μέθοδοι μπορούν να έχουν ορίσματα που μεταβιβάζονται στη μέθοδο όταν αυτή καλείται. Για παράδειγμα, μέθοδος Κλείσεαντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝέχει τρία προαιρετικά ορίσματα που καθορίζουν εάν το βιβλίο εργασίας πρέπει να αποθηκευτεί πριν το κλείσιμο και παρόμοια.

Για να μεταβιβάσετε ορίσματα σε μια μέθοδο, πρέπει να σημειώσετε τις τιμές αυτών των ορισμάτων μετά την κλήση της μεθόδου, διαχωρισμένες με κόμματα. Για παράδειγμα, εάν θέλετε να αποθηκεύσετε το ενεργό βιβλίο εργασίας ως αρχείο .csvμε το όνομα "Book2", τότε πρέπει να καλέσετε τη μέθοδο Αποθήκευση ωςαντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝκαι περάστε το επιχείρημα Ονομα αρχείουέννοια Βιβλίο 2, και το επιχείρημα Μορφή αρχείου- νόημα xlCSV:

ActiveWorkbook.SaveAs "Book2", xlCSV

Για να κάνετε τον κώδικά σας πιο ευανάγνωστο, μπορείτε να χρησιμοποιήσετε ορίσματα με όνομα όταν καλείτε μια μέθοδο. Σε αυτήν την περίπτωση, γράψτε πρώτα το όνομα του ορίσματος και μετά τον τελεστή εκχώρησης " := ” και μετά υποδεικνύετε την τιμή. Έτσι, η παραπάνω μέθοδος καλεί το παράδειγμα Αποθήκευση ωςαντικείμενο ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΙΩΝμπορεί να γραφτεί διαφορετικά:

ActiveWorkbook.SaveAs Όνομα αρχείου:="Book2", :=xlCSV

Στο παράθυρο Πρόγραμμα περιήγησης αντικειμένωνσυντάκτης Visual Basicεμφανίζει μια λίστα με όλα τα διαθέσιμα αντικείμενα, τις ιδιότητες και τις μεθόδους τους. Για να ανοίξετε αυτήν τη λίστα, εκκινήστε το Visual Basic Editor και κάντε κλικ F2.

Ας δούμε μερικά παραδείγματα

Παράδειγμα 1

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

"Κύλιση σε όλα τα φύλλα εργασίας στο ενεργό βιβλίο εργασίας ένα προς ένα" και εμφανίστε ένα πλαίσιο μηνύματος με το όνομα κάθε φύλλου εργασίας Dim wSheet As Sheet For Every wsheet in Worksheets MsgBox "Worksheet found: " & wSheet.Name Next wSheet

Παράδειγμα 2

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

Στον παρακάτω κώδικα, για το αντικείμενο Εύροςονομάζεται μέθοδος PasteSpecial. Αυτή η μέθοδος μεταβιβάζει το όρισμα Επικόλλησηέννοια xlPasteValues.

"Αντιγράψτε μια περιοχή κελιών από το φύλλο "Φύλλο1" ενός άλλου βιβλίου εργασίας (με όνομα Data.xlsx) "και επικολλήστε μόνο τις τιμές στο φύλλο "Αποτελέσματα" του τρέχοντος βιβλίου εργασίας (με όνομα CurrWb.xlsm) Dim dataWb As Σύνολο βιβλίου εργασίας dataWb = Workbooks.Open( "C:\Data") "Σημειώστε ότι το DataWb είναι το ενεργό βιβλίο εργασίας, επομένως, η ακόλουθη ενέργεια εκτελείται στο αντικείμενο Φύλλα στο DataWb." Φύλλα ("Φύλλο1"). Εύρος ("A1:B10"). Αντιγράψτε "Επικολλήστε τις τιμές που αντιγράφηκαν από το εύρος των κελιών στο φύλλο εργασίας "Αποτελέσματα" του τρέχοντος βιβλίου εργασίας. Λάβετε υπόψη ότι το βιβλίο εργασίας CurrWb.xlsm δεν είναι "ενεργό" και επομένως πρέπει να αναφέρεται σε βιβλία εργασίας ("CurrWb"). Φύλλα ("Αποτελέσματα").Range("A1").PasteSpecial Paste:=xlPasteValues.

Παράδειγμα 3

Το παρακάτω απόσπασμα κώδικα VBA δείχνει ένα παράδειγμα αντικειμένου (συλλογής) Στήλεςκαι δείχνει πώς γίνεται η πρόσβαση από ένα αντικείμενο Φύλλο εργασίας. Επιπλέον, θα δείτε ότι όταν αναφέρετε ένα κελί ή ένα εύρος κελιών στο ενεργό φύλλο εργασίας, δεν χρειάζεται να συμπεριλάβετε αυτό το φύλλο στην αναφορά. Συναντάμε ξανά τη λέξη-κλειδί Σειρά, με τη βοήθεια του οποίου το αντικείμενο Εύροςεκχωρείται σε μια μεταβλητή Διάσελο.

Αυτός ο κώδικας VBA δείχνει επίσης ένα παράδειγμα πρόσβασης σε μια ιδιότητα αξίααντικείμενο Εύροςκαι αλλάζοντας το νόημά του.

"Χρησιμοποιώντας έναν βρόχο, εξετάζουμε τις τιμές στη στήλη Α στο φύλλο "Φύλλο2", "εκτελούμε αριθμητικές πράξεις με καθεμία από αυτές και γράφουμε το αποτέλεσμα "στη στήλη Α του ενεργού φύλλου εργασίας (Φύλλο1) Dim i As Integer Dim Col As Range Dim dVal As Double "Ανάθεση μεταβλητής Στήλη Α του φύλλου εργασίας "Φύλλο2" Σετ Col = Φύλλα("Φύλλο2"). Στήλες("Α") i = 1 "Κοιτάξτε όλα τα κελιά της στήλης Col διαδοχικά μέχρι " μέχρι να εμφανιστεί ένα κενό κελί Do Until IsEmpty(Col. Cells(i)) "Εκτελέστε αριθμητικές πράξεις στην τιμή του τρέχοντος κελιού dVal = Col.Cells(i).Τιμή * 3 - 1 "Η ακόλουθη εντολή γράφει το αποτέλεσμα σε στήλη A "του ενεργού φύλλου. Δεν χρειάζεται να προσδιορίσετε το όνομα του φύλλου στην αναφορά, "καθώς Αυτό είναι το ενεργό φύλλο του βιβλίου εργασίας. Κελιά(i, 1).Τιμή = dVal i = i + 1 Βρόχος

Από όλα τα προγράμματα γραφείου, το Excel χρησιμοποιείται συχνότερα για τη δημιουργία προσαρμοσμένων εφαρμογών. Υπάρχουν δύο εξηγήσεις για αυτό. Πρώτα, Τρέχον πακέτοΣχεδιασμένο για ένα ευρύ φάσμα εφαρμογών επεξεργασίας δεδομένων. Δεύτερον, στην πραγματικότητα, ήταν μαζί του που ξεκίνησε η ιστορία της σύγχρονης VBA. Με λίγες μόνο γραμμές κώδικα που περιλαμβάνονται στο Excel, μπορείτε να δημιουργήσετε ένα πρόγραμμα που μπορεί να εκτελέσει σοβαρούς υπολογισμούς και δημιουργική ανάλυση χρησιμοποιώντας γραφικά και αναφορές. Ωστόσο, για ανάπτυξη δικές τους εφαρμογέςαπαιτούνται οι ακόλουθες προϋποθέσεις:

§ πρέπει να μάθετε πώς να εργάζεστε με το Excel στην παραδοσιακή του έκδοση, η οποία θα σας επιτρέψει να χρησιμοποιήσετε ένα ελάχιστο κώδικα προγράμματοςχρησιμοποιήστε το μέγιστο των ενσωματωμένων δυνατοτήτων του πακέτου. Όσο καλύτερα γνωρίζετε το ίδιο το προϊόν, τόσο πιο εύκολο είναι να δημιουργήσετε εφαρμογές.

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

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

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

Για παράδειγμα, ένα αντικείμενο βιβλίου εργασίας αντιπροσωπεύει ένα συγκεκριμένο αρχείο Excel. Έχει τις ιδιότητες Όνομα (όνομα αρχείου), Διαδρομή (όνομα καταλόγου) και Συντάκτης (όνομα συγγραφέα αρχείου). Η μέθοδος Save αποθηκεύει το αρχείο. Δείτε πώς φαίνεται η χρήση αυτών των μεθόδων:

Υπάρχουν δύο τρόποι αναφοράς σε αντικείμενα: μπορείτε να ανατρέξετε απευθείας στο όνομα ενός από τα αντικείμενα ή σε ένα ευρετήριο της συλλογής. Σύμφωνα με την απλός ορισμόςμια συλλογή είναι μια ομάδα παρόμοιων αντικειμένων. Όλα τα αντικείμενα του Excel χωρίζονται σε δύο κατηγορίες: μεμονωμένα αντικείμενα και αντικείμενα σε μια συλλογή. Για τους πρώτους, ο σύνδεσμος γίνεται απευθείας με το όνομά τους, για τους δεύτερους - με ευρετήριο σε αυτήν την ομάδα. Οι συλλογές παρέχουν μια ευκαιρία ιεραρχική οργάνωσηαντικείμενα. Για παράδειγμα, η συλλογή Βιβλία εργασίας περιέχει όλα τα αντικείμενα του βιβλίου εργασίας. Για να αναφέρετε ένα συγκεκριμένο βιβλίο εργασίας, μπορείτε να καθορίσετε ένα όνομα:

Βιβλία εργασίας ("Book1.xls")

ή αριθμός
Τετράδια εργασιών (1)

Τέσσερα βασικά αντικείμενα

Τα βασικά αντικείμενα στο Excel είναι η εφαρμογή, το βιβλίο εργασίας, το φύλλο εργασίας και το εύρος, τα οποία σχηματίζουν μια ιεραρχία:

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

Application.DisplayStatusBar = False
Application.Caption = " Προσαρμοσμένη εφαρμογή"

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

Με Application.Workbooks(1)

Αποθηκεύσετε
Τέλος Με

Το αντικείμενο φύλλου εργασίας που περιέχεται σε ένα βιβλίο εργασίας εξυπηρετεί πολλούς σκοπούς Εφαρμογή Excel/VBA. Περιέχει κελιά όπου ο χρήστης μπορεί να συμπεριλάβει τύπους για την εκτέλεση υπολογισμών. Οι ιδιότητες και οι μέθοδοι του αντικειμένου φύλλου εργασίας επεξεργάζονται το υπολογιστικό φύλλο ως σύνολο. Για παράδειγμα, ο ακόλουθος κώδικας αλλάζει το όνομα του υπολογιστικού φύλλου (φύλλο εργασίας) και το κάνει αόρατο:

Με Εφαρμογή.Τετράδια εργασίας(1).Φύλλα εργασίας(1)

Όνομα = "Συνεργασία με χρεόγραφα"

Ορατό = Λάθος

Ένα αντικείμενο Range αντιπροσωπεύει ένα ή περισσότερα κελιά σε ένα υπολογιστικό φύλλο. Χρησιμοποιείται κυρίως για την αποθήκευση και εμφάνιση τμημάτων δεδομένων: αριθμών, συμβολοσειρών ή τύπων. Τα κελιά υπολογιστικών φύλλων που αντιπροσωπεύονται σε ένα αντικείμενο Range έχουν πολλές δυνατότητες. Για παράδειγμα, ένας χρήστης μπορεί να έχει πρόσβαση σε περισσότερα από 400 ενσωματωμένα Λειτουργίες Excelκαι καλέστε τις συναρτήσεις VBA. Μπορείτε επίσης να δημιουργήσετε συνδέσμους προς άλλα κελιά στο ίδιο υπολογιστικό φύλλο, άλλα ΥΠΟΛΟΓΙΣΤΙΚΑ ΦΥΛΛΑή άλλα βιβλία εργασίας. Η ευελιξία και η ισχύς του αντικειμένου Range σάς επιτρέπει να βελτιώσετε το ενσωματωμένο υπολογιστική μονάδα Excel και δημιουργία πιο σύνθετων εφαρμογών ανάλυσης δεδομένων.

Αντικείμενο εφαρμογής

Το αντικείμενο Application είναι το κύριο (root) αντικείμενο στην ιεραρχία αντικειμένων του Excel, που αντιπροσωπεύει την ίδια την εφαρμογή Excel. Έχει μεγάλο αριθμό ιδιοτήτων και μεθόδων που σας επιτρέπουν να ορίσετε Κοινές παράμετροιΑς παραθέσουμε τις κύριες ιδιότητες και μεθόδους της.

Βασικές ιδιότητες του αντικειμένου Εφαρμογή

1 ActiveWorkbook, ActiveSheet, ActiveCell - επιστρέψτε το ενεργό βιβλίο εργασίας, το φύλλο εργασίας και το κελί, αντίστοιχα. Στο παρακάτω παράδειγμα, ο όρος "Αναφορά" εισάγεται στο ενεργό κελί:

ActiveCell.Value=”Αναφορά”

2 Λεζάντα - επιστρέφει ή ορίζει το κείμενο από τον τίτλο του κύριου παραθύρου του Excel Στο ακόλουθο παράδειγμα, ο τίτλος του παραθύρου της εφαρμογής ορίζεται στο κείμενο "Μπορεί να αναφέρει".

Application.Caption=”Αναφορά για τον Μάιο”

3.DisplayFormulaBar είναι μια λογική ιδιότητα που ελέγχει την εμφάνιση της γραμμής τύπων Για παράδειγμα, στον ακόλουθο κώδικα, η γραμμή τύπων δεν εμφανίζεται: Application.DisplayFormulaBar

4 DisplayStatusbar - μια λογική ιδιότητα που ελέγχει την εμφάνιση της γραμμής κατάστασης

5 Διαδρομή - επιστρέφει τη διαδρομή στο αρχείο Excel.exe

6 StatusBar - επιστρέφει ή ορίζει το κείμενο που εμφανίζεται στη γραμμή κατάστασης

7 Έκδοση – επιστρέφει τον τρέχοντα αριθμό έκδοσης του Excel που χρησιμοποιείται για να ελέγξει εάν χρησιμοποιείται η σωστή έκδοση.

Αν Εφαρμογή.Varsion<>"9.0" Έπειτα βγείτε από το Sub

Αντικείμενο βιβλίου εργασίας και οικογένεια Βιβλίων εργασίας

Στην ιεραρχία του Excel, αυτό το αντικείμενο έρχεται αμέσως μετά το αντικείμενο Application και αντιπροσωπεύει το αρχείο του βιβλίου εργασίας.

Βασικές ιδιότητες του αντικειμένου Workbook και της οικογένειας Workbooks

1 ActiveSheet – επιστρέφει το ενεργό φύλλο εργασίας

2 Όνομα – επιστρέφει ή ορίζει το όνομα του βιβλίου

Z Μονοπάτι-επιστροφές πλήρες όνομαφάκελο στον οποίο βρίσκεται αυτό το βιβλίο

4 Αποθηκευμένο - μια δυαδική ιδιότητα που καθορίζει εάν έχουν γίνει αλλαγές στο βιβλίο εργασίας από την τελευταία αποθήκευσή του

Βασικές μέθοδοι του αντικειμένου Workbook και της οικογένειας Workbooks

1 Ενεργοποίηση – ενεργοποιεί το βιβλίο εργασίας έτσι ώστε το πρώτο του φύλλο εργασίας να γίνει ενεργό.

Τετράδια Εργασίας («Τμήμα Ανθρώπινου Δυναμικού»). Ενεργοποίηση

2 Protect - προστατεύει το βιβλίο εργασίας από την πραγματοποίηση αλλαγών σε αυτό

3 Κλείσιμο – κλείνει το βιβλίο

4 Άνοιγμα - ανοίγει ένα υπάρχον βιβλίο:

Open(FileName), όπου FileName είναι το όνομα του αρχείου που θα ανοίξει

Για παράδειγμα:

Άνοιγμα ("Storage.xls")

Τα κύρια συμβάντα αυτού του αντικειμένου είναι Open (συμβαίνει όταν ανοίγει ένα βιβλίο εργασίας, για παράδειγμα, ας γράψουμε μια διαδικασία για την επεξεργασία του γεγονότος Open ενός αντικειμένου Workbook, όταν αυτό ανοίξει).

Subbook_Work_Open()

MsgBox ("Γεια")

Αντικείμενο φύλλου εργασίας και οικογένεια φύλλων εργασίας

Στην ιεραρχία Αντικείμενο ExcelΤο φύλλο εργασίας έρχεται αμέσως μετά το αντικείμενο του βιβλίου εργασίας και αντιπροσωπεύει το φύλλο εργασίας

Βασικές ιδιότητες του αντικειμένου φύλλου εργασίας και της οικογένειας φύλλων εργασίας

1 Όνομα - επιστρέφει ή ορίζει το όνομα του φύλλου εργασίας

2 Κελιά – Επιστρέφει μια οικογένεια από όλα τα κελιά του φύλλου εργασίας ή ένα αντικείμενο Εύρος - ένα συγκεκριμένο κελί, εάν ο αριθμός της γραμμής και της στήλης στην τομή των οποίων βρίσκεται το κελί υποδεικνύεται σε παρενθέσεις.

Φύλλα εργασίας(1).Cells.Interior.ColorIndex=3 – χρωματίζει κόκκινα όλα τα κελιά του πρώτου φύλλου εργασίας.

Φύλλα εργασίας(1).Cells(1,2).Value=”Hello” – εμφανίζει τη συμβολοσειρά “Hello” στο κελί που βρίσκεται στην πρώτη σειρά της δεύτερης στήλης

3 Στήλες, Γραμμές - επιστρέψτε την οικογένεια όλων των στηλών και των γραμμών του φύλλου εργασίας ή μια συγκεκριμένη στήλη, εάν για παράδειγμα προσδιορίζεται ένα ευρετήριο

Φύλλα εργασίας(1).Στήλες(2) - επιστρέφει τη δεύτερη στήλη

Βασικές μέθοδοι του αντικειμένου φύλλου εργασίας και της οικογένειας των φύλλων εργασίας

1 Ενεργοποίηση - ενεργοποιεί το καθορισμένο φύλλο εργασίας

Φύλλα εργασίας(1).Ενεργοποίηση

2 Διαγραφή – διαγράφει το καθορισμένο φύλλο εργασίας. Για παράδειγμα

Φύλλα εργασίας(1).Διαγραφή

3 Προστασία - προστατεύει το φύλλο εργασίας από αλλαγές

Τα κύρια συμβάντα αυτού του αντικειμένου είναι Ενεργοποίηση (συμβαίνει όταν το φύλλο εργασίας είναι ενεργοποιημένο) και Απενεργοποίηση (συμβαίνει όταν το φύλλο εργασίας είναι απενεργοποιημένο, για παράδειγμα, θα γράψουμε μια διαδικασία για το χειρισμό του γεγονότος Ενεργοποίηση του αντικειμένου φύλλου εργασίας). την ίδια στιγμή, θα εμφανίσουμε κάποιο μήνυμα:

Υποφύλλο εργασίας_Ενεργοποίηση()

MsgBox ("Γεια")

Αντικείμενο εμβέλειας

Στην ιεραρχία του Excel, το αντικείμενο Range, ένα από τα βασικά αντικείμενα VBA, έρχεται αμέσως μετά το αντικείμενο φύλλου εργασίας. Ένα αντικείμενο Range δεν είναι μέλος καμίας οικογένειας αντικειμένων.

Εάν ένα εύρος καθορίζει μόνο ονόματα στηλών και σειρών, τότε το αντικείμενο Range καθορίζει ένα εύρος που αποτελείται από τις καθορισμένες στήλες και σειρές στήλες Α, Β, Γ. Το εύρος ("A:A") καθορίζει ένα εύρος που αποτελείται από τη στήλη Α, το εύρος ("2:2") καθορίζει ένα εύρος που αποτελείται από τη δεύτερη σειρά.

Για να αναφερθούμε σε ένα συγκεκριμένο εύρος κελιών, αρκεί να καθορίσουμε τη διεύθυνση του επάνω αριστερού κελιού και τη διεύθυνση του κάτω δεξιού κελιού του. Για παράδειγμα, το εύρος (“A1:B3”) καθορίζει ένα εύρος που αποτελείται από κελιά A1 ,A2,A3,B1,B2,B3.

Το κύτταρο είναι ειδική περίπτωσηεύρος, το οποίο αποτελείται από ένα κελί. Για παράδειγμα, το εύρος ("A1") καθορίζει ένα εύρος που αποτελείται από το κελί A1.

Βασικές ιδιότητες του αντικειμένου Range

1 Τιμή - επιστρέφει ή ορίζει την τιμή στα κελιά της περιοχής

x=Range(“C1”).Τιμή - Σε κάποια μεταβλητή x εκχωρείται η τιμή από το κελί C1

2 Όνομα - επιστρέφει ή ορίζει το όνομα της περιοχής

3 Στήλες, Γραμμές - επιστρέφει όλες τις στήλες ή τις σειρές σε μια περιοχή

Φύλλα εργασίας(1).Range("A1:B3").Columns.Value = 2 – σε όλες τις στήλες του εύρους

A1:B3 εμφανίζεται ο αριθμός 3

4 Εσωτερικό - επιστρέφει ένα αντικείμενο Εσωτερικό που αντιπροσωπεύει το φόντο του κελιού Μεταξύ των ιδιοτήτων του αντικειμένου εσωτερικού

Ας σημειώσουμε μόνο ένα πράγμα - ColorIndex - χρώμα φόντου, το οποίο καθορίζεται από ακέραιους αριθμούς από το 1 έως το 56. Για παράδειγμα

Εύρος ("A1").Interior.ColorIndex=3 - Το φόντο του κελιού A1 είναι γεμάτο με κόκκινο χρώμα

5 Γραμματοσειρά – Επιστρέφει ένα αντικείμενο γραμματοσειράς που αντιπροσωπεύει τη γραμματοσειρά Το αντικείμενο Γραμματοσειρά έχει ιδιότητες Όνομα (μια συμβολοσειρά που υποδεικνύει το όνομα της γραμματοσειράς) κ.λπ.

6 Οριζόντια Στοίχιση- Οριζόντια ευθυγράμμισηστις αποδεκτές τιμές είναι xlCenter (Στοίχιση στο κέντρο), xlRight (Δεξιά στοίχιση) κ.λπ.

Βασικές μέθοδοι του αντικειμένου Range

1 ClearFormats και ClearContents - διαγράψτε, αντίστοιχα, τις μορφές και τα περιεχόμενα στα κελιά της περιοχής

Εύρος (“A1:D2”).ClearContents

2 Επιλογή - επιλογή εύρους


©2015-2019 ιστότοπος
Όλα τα δικαιώματα ανήκουν στους δημιουργούς τους. Αυτός ο ιστότοπος δεν διεκδικεί την πατρότητα, αλλά παρέχει δωρεάν χρήση.
Ημερομηνία δημιουργίας σελίδας: 16-02-2016