Σύνοψη
Το Microsoft Office Excel υποστηρίζει τα πρόσθετα αυτοματισμού εκτός από τα πρόσθετα μοντέλου αντικειμένων στοιχείων (COM). Στο άρθρο αυτό εξηγούνται οι διαφορές μεταξύ αυτών των δύο τύπων προσθέτων.
Περισσότερες πληροφορίες
Πρόσθετα COM
Τα πρόσθετα COM προσφέρουν στον προγραμματιστή έναν τρόπο επέκτασης της λειτουργικότητας των εφαρμογών του Office για προσαρμοσμένες εργασίες. Τα πρόσθετα COM χρησιμοποιούνται συνήθως για την αυτοματοποίηση του Excel με το πάτημα ενός κουμπιού Γραμμής εντολών, μιας φόρμας ή παραθύρου διαλόγου ή κάποιου άλλου συμβάντος που αφορά συγκεκριμένα το Excel, όπως το άνοιγμα ή το κλείσιμο βιβλίων εργασίας ή η εισαγωγή δεδομένων σε φύλλα εργασίας. Οι συναρτήσεις προσθέτων COM δεν είναι δυνατό να κληθούν απευθείας από τύπους κελιών σε φύλλα εργασίας.
Ένα πρόσθετο COM είναι ένας διακομιστής COM εσωτερικής διεργασίας (ένα αρχείο DLL ActiveX) που πρέπει να υλοποιήσει τη διασύνδεση IDTExensibility2. Όλα τα πρόσθετα COM πρέπει να υλοποιούν καθεμία από τις πέντε μεθόδους αυτού του περιβάλλοντος εργασίας: OnConnection, OnStartupComplete, OnAddinsUpdate, OnBeginShutDown και OnDisconnection.
Όταν ένα πρόσθετο COM είναι εγκατεστημένο στο σύστημα ενός χρήστη, δημιουργούνται καταχωρήσεις μητρώου για το πρόσθετο. Εκτός από την κανονική καταχώρηση COM, ένα πρόσθετο COM καταχωρείται για κάθε εφαρμογή του Office στην οποία εκτελείται. Τα πρόσθετα COM που χρησιμοποιούνται από το Excel καταχωρούνται στο ακόλουθο κλειδί μητρώου:
HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\
Αυτός ο αριθμός-κλειδί περιέχει ένα δευτερεύον κλειδί για κάθε εγκατεστημένο πρόσθετο COM. Το όνομα του δευτερεύοντος κλειδιού είναι το αναγνωριστικό προγράμματος για το πρόσθετο COM. Το δευτερεύον κλειδί για ένα πρόσθετο COM περιέχει επίσης τιμές που περιγράφουν το φιλικό όνομα, την περιγραφή και τη συμπεριφορά φόρτωσης του προσθέτου COM. Η συμπεριφορά φόρτωσης περιγράφει τον τρόπο φόρτωσης του πρόσθετου στο Excel: φόρτωση κατά την εκκίνηση, φόρτωση μόνο κατά την επόμενη εκκίνηση, φόρτωση κατ' απαίτηση ή μη φόρτωση.
Τα πρόσθετα COM μπορούν επίσης να φορτωθούν και να καταργηθούν μέσω του περιβάλλοντος εργασίας χρήστη του Excel. Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:
- Στο μενού Προβολή (View), τοποθετήστε το δείκτη του ποντικιού στην εντολή Γραμμές εργαλείων (Toolbars) και, στη συνέχεια, κάντε κλικ στην εντολή Προσαρμογή (Customize).
- Στο παράθυρο διαλόγου Γραμμές εργαλείων, κάντε κλικ στην καρτέλα Για προχωρημένους. Στη λίστα κατηγοριών, επιλέξτε Εργαλεία. Εντοπίστε τα πρόσθετα COM στη λίστα εντολών και σύρετε την εντολή σε ένα μενού ή Γραμμή εντολών της επιλογής σας. Κλείστε το παράθυρο διαλόγου Γραμμές εργαλείων.
- Κάντε κλικ στην εντολή Πρόσθετα COM που προσθέσατε για να εμφανίσετε το παράθυρο διαλόγου Πρόσθετα COM. Το παράθυρο διαλόγου παραθέτει όλα τα πρόσθετα COM που είναι εγκατεστημένα στο σύστημά σας και τα πρόσθετα COM που φορτώνονται τη δεδομένη στιγμή είναι επιλεγμένα.
Τα πρόσθετα COM μπορούν επίσης να φορτωθούν και να καταργηθούν μέσω του περιβάλλοντος εργασίας χρήστη του Excel. Για να το κάνετε αυτό, ακολουθήστε τα παρακάτω βήματα:
Κάντε κλικ στο Κουμπί του Microsoft Office και, στη συνέχεια, κάντε κλικ στο στοιχείο Επιλογές του Excel.
Κάντε κλικ στο κουμπί Πρόσθετα.
Στην περιοχή Διαχείριση, κάντε κλικ στην επιλογή Πρόσθετα COMκαι, στη συνέχεια, κάντε κλικ στο κουμπί Μετάβαση .
Το παράθυρο διαλόγου " Πρόσθετα COM" παραθέτει σε λίστα όλα τα πρόσθετα COM που είναι εγκατεστημένα στον υπολογιστή. Τα πρόσθετα COM που φορτώνονται αυτήν τη στιγμή έχουν επιλεγεί.
Για περισσότερες πληροφορίες, ανατρέξτε στην ακόλουθη τοποθεσία της Microsoft στο Web:
Επισκόπηση πλατφόρμας προσθέτων του Office
Πρόσθετα αυτοματισμού
Εκτός από τα πρόσθετα COM, το Excel υποστηρίζει πρόσθετα αυτοματισμού. Τα πρόσθετα αυτοματισμού βασίζονται στα πρόσθετα COM, καθώς οι συναρτήσεις στα πρόσθετα αυτοματισμού μπορούν να κληθούν από τύπους σε φύλλα εργασίας του Excel. Τα πρόσθετα COM πρέπει να είναι διακομιστές COM που διέρχονται και υποστηρίζουν τη διασύνδεση IDTExtensibility2. Ωστόσο, τα πρόσθετα αυτοματισμού μπορεί να είναι διακομιστές COM εντός ή εκτός διεργασίας και η υλοποίηση του IDTExtensibility2 είναι προαιρετική.
Για να χρησιμοποιήσετε συναρτήσεις από ένα πρόσθετο αυτοματισμού στο Excel, ακολουθήστε τα εξής βήματα:
- Στο μενού Εργαλεία, κάντε κλικ στην εντολή Πρόσθετα.
- Στο παράθυρο διαλόγου Add-Ins, κάντε κλικ στην επιλογή Αυτοματοποίηση. Από τη λίστα των καταχωρημένων διακομιστών COM, επιλέξτε το πρόσθετο αυτοματισμού και κάντε κλικ στο κουμπί OK.
- Το πρόσθετο αυτοματισμού εμφανίζεται στο παράθυρο διαλόγου "Πρόσθετα". Κάντε κλικ στο κουμπί OK για να κλείσετε το παράθυρο διαλόγου Add-Ins.
Για να χρησιμοποιήσετε συναρτήσεις από ένα πρόσθετο αυτοματισμού στο Excel 2007 και νεότερες εκδόσεις, ακολουθήστε τα εξής βήματα:
Κάντε κλικ στο Κουμπί του Microsoft Office και, στη συνέχεια, κάντε κλικ στο στοιχείο Επιλογές του Excel.
Κάντε κλικ στο κουμπί Πρόσθετα.
Στην περιοχή "Διαχείριση", κάντε κλικ στην επιλογή "Πρόσθετα του Excel" και, στη συνέχεια, κάντε κλικ στο κουμπί "Μετάβαση".
Στο παράθυρο διαλόγου Πρόσθετα (Add-Ins ), κάντε κλικ στην επιλογή Αυτοματοποίηση (Automation). Στη λίστα των καταχωρημένων διακομιστών COM, κάντε κλικ στο πρόσθετο αυτοματοποίησης και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
Το πρόσθετο αυτοματισμού εμφανίζεται στο παράθυρο διαλόγου "Πρόσθετα ". Κάντε κλικ στο κουμπί OK για να κλείσετε το παράθυρο διαλόγου "Πρόσθετα ".
Όταν κάνετε προσθήκες στη λίστα στο παράθυρο διαλόγου Add-Ins ή όταν επιλέγετε και καταργείτε την επιλογή "Πρόσθετα" από τη λίστα, το Excel αποθηκεύει τις αλλαγές σας στο μητρώο. Πρώτον, το Excel χρησιμοποιεί την ακόλουθη ρύθμιση μητρώου για να προσδιορίσει εάν φορτώνεται ή όχι ένα πρόσθετο αυτοματισμού στη λίστα πρόσθετων:
Excel 2002
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2003
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Excel 2007
Key: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options
String: OPENx
Sample Value: /A "ServerName.ClassName"
Σημείωση: Αλλάξτε τον αριθμό έκδοσης του Office με βάση την έκδοση που χρησιμοποιείτε.
Ο διακόπτης /A που χρησιμοποιείται στην τιμή συμβολοσειράς είναι νέος στο Excel και παλαιότερος και χρησιμοποιείται ειδικά για τη φόρτωση προσθέτων αυτοματισμού. Όλα τα πρόσθετα αυτοματισμού φορτώνονται κατ 'απαίτηση. δεν υπάρχει ρύθμιση που μπορεί να αλλάξει τη συμπεριφορά φόρτωσης για ένα πρόσθετο αυτοματισμού.
Όταν καταργείται ένα πρόσθετο αυτοματισμού που παρατίθεται στο παράθυρο διαλόγου Add-Ins, δημιουργείται ένα δευτερεύον κλειδί με όνομα ίσο με το αναγνωριστικό προγράμματος του προσθέτου στο ακόλουθο κλειδί μητρώου:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Excel\Add-in Manager
Excel 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Add-in Manager
Αυτή η ρύθμιση μητρώου εξασφαλίζει ότι τα πρόσθετα αυτοματισμού που έχετε προσθέσει στη λίστα πρόσθετων διατηρούνται στη λίστα, ακόμη και όταν έχετε επιλέξει να μην φορτωθούν.
Για περισσότερες πληροφορίες, ανατρέξτε στην ακόλουθη τοποθεσία της Microsoft στο Web:
Επισκόπηση πλατφόρμας προσθέτων του Office
Πρόσθετα αυτοματισμού που υλοποιούν IDxtensibility2
Όπως αναφέρθηκε προηγουμένως, ένα πρόσθετο αυτοματισμού μπορεί να υλοποιήσει το IDTExtensibility2, αλλά δεν είναι απαραίτητο προκειμένου το Excel να καλέσει τις συναρτήσεις στο πρόσθετο από ένα φύλλο εργασίας. Εάν χρειάζεστε το πρόσθετο αυτοματισμού να λάβει μια αναφορά στην παρουσία του Excel, μπορείτε να υλοποιήσετε το IDxtensibility2 και να χρησιμοποιήσετε την παράμετρο Application του OnConnection για να αυτοματοποιήσετε το Excel.
Ένα πρόσθετο αυτοματισμού που υλοποιεί
Το IDTExtensibility2 μπορεί να φορτωθεί στο περιβάλλον εργασίας χρήστη του Excel τόσο μέσω του παραθύρου διαλόγου COM Add-Ins όσο και μέσω του παραθύρου διαλόγου Add-Ins. Παρακάτω περιγράφεται η συμπεριφορά ενός πρόσθετου αυτοματισμού με βάση το αν έχει φορτωθεί σε ένα ή και στα δύο παράθυρα διαλόγου:
Έχει φορτωθεί μόνο στο παράθυρο διαλόγου "Πρόσθετα".
Το πρόσθετο φορτώνεται κατ' απαίτηση. Οι συναρτήσεις στο πρόσθετο μπορεί να καλούνται από τύπους σε ένα φύλλο εργασίας.
Έχει φορτωθεί μόνο στο παράθυρο διαλόγου "Πρόσθετα COM".
Το πρόσθετο φορτώνεται ως πρόσθετο COM και η συμπεριφορά του κατά τη φόρτωση καθορίζεται από τις ρυθμίσεις στο μητρώο. Οι συναρτήσεις στο πρόσθετο δεν είναι δυνατό να κληθούν από τύπους σε ένα φύλλο εργασίας.
Έχει φορτωθεί τόσο στο παράθυρο διαλόγου "Πρόσθετα COM" όσο και στο παράθυρο διαλόγου "Πρόσθετα".
Φορτώνονται δύο ξεχωριστές παρουσίες του προσθέτου. Η μία παρουσία φορτώνεται ως πρόσθετο COM και η άλλη παρουσία φορτώνεται ως πρόσθετο αυτοματισμού. Η παρουσία προσθέτου COM χρησιμοποιεί τη συμπεριφορά φόρτωσης που υποδεικνύεται στο μητρώο. η παρουσία του πρόσθετου αυτοματισμού φορτώνεται κατ' απαίτηση. Οι δύο παρουσίες λειτουργούν ανεξάρτητα η μία από την άλλη και δεν μοιράζονται καθολικές μεταβλητές.
Επειδή τα πρόσθετα αυτοματισμού φορτώνονται κατ' απαίτηση, το Excel ενδέχεται να επιχειρήσει να φορτώσει το πρόσθετο ενώ βρίσκεται σε λειτουργία επεξεργασίας κελιού. Επομένως, όταν αναπτύσσετε ένα πρόσθετο αυτοματισμού που υποστηρίζει IDTExtensibility2, θα πρέπει να είστε προσεκτικοί ώστε να μην κάνετε τίποτα που επιχειρεί να αλλάξει την κατάσταση του Excel κατά τη φόρτωση του πρόσθετου. Για περισσότερες πληροφορίες, ανατρέξτε στο ακόλουθο άρθρο της Γνωσιακής βάσης της Microsoft:
284876 ΣΦΑΛΜΑ: Το Excel αποτυγχάνει κατά τη φόρτωση Add-In αυτοματοποίησης
(c) Microsoft Corporation 2001, Με επιφύλαξη κάθε νόμιμου δικαιώματος. Συνεισφορές από την Lori B. Turner, Microsoft Corporation.