Office αυτοματισμού χρησιμοποιώντας Visual C++

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 196776 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο απαντά σε συνήθεις ερωτήσεις σχετικά με την αυτοματοποίηση Microsoft Office από Visual C++.

Περισσότερες πληροφορίες

Πίνακας περιεχομένων

  1. Τι είναι η αυτοματοποίηση;
  2. Είμαι νέο αυτοματισμού, πού μπορώ να βρω καλή πόρους για να μάθετε περισσότερα;
  3. Υπάρχουν τρόποι που μπορείτε να χρησιμοποιήσετε αυτοματισμό;
  4. Τι είναι η COM;
  5. Πώς επισυνάψετε να εκτελείται μια εφαρμογή του Office;
  6. Πώς μπορώ να περάσει προαιρετικές παραμέτρους;
  7. Πώς μπορώ να εντοπίζει συμβάντα εκτεθεί από εφαρμογές του Office;
  8. Ο κωδικός αυτοματισμού μου είναι πολύ αργή. Πώς μπορώ να επιταχύνω πράγματα;
  9. Τι σημαίνουν αυτές οι τιμές σφάλματος τεράστια, όπως-2147352573 ή 0x80030002,
  10. Τι είναι μια βιβλιοθήκη τύπων;
  11. Μου κώδικας αυτοματοποίησης λειτουργούσε με το Microsoft Excel 95, αλλά αποτυγχάνει με Microsoft Excel 97. Γιατί;
  12. Γιατί does εφαρμογής αυτοματοποίηση παραμένουν στη μνήμη μετά το πρόγραμμά μου ολοκληρωθεί;
  13. Γνωρίζω τι θέλετε να κάνετε ως χρήστης εφαρμογών του Microsoft Office, αλλά Πώς μπορώ να κάνω αυτό μέσω προγραμματισμού, χρησιμοποιώντας αυτοματοποίηση;
  14. Μπορώ να αυτοματοποιήσετε μια ενσωματωμένη εφαρμογή του Microsoft Office;
  15. Πώς μπορώ να αποκτήσω πρόσβαση μου ιδιότητες εγγράφου σε ένα έγγραφο του Microsoft Office;

Ερωτήσεις και απαντήσεις

  1. Τι είναι η αυτοματοποίηση;

    Αυτοματισμού (παλαιότερα αυτοματισμού OLE) είναι μια τεχνολογία που σας επιτρέπει να Επωφεληθείτε από ένα υπάρχον πρόγραμμα λειτουργικότητα και να την ενσωματώσετε στις δικές σας εφαρμογές. Για παράδειγμα, να χρησιμοποιούν το Microsoft Το Word ορθογραφικού και γραμματικού ελέγχου δυνατότητες στην εφαρμογή σας χωρίς ορατές στους χρήστες σας το Microsoft Word. Μπορείτε ακόμα να χρησιμοποιήσετε όλες τις το Microsoft Excel γραφημάτων, εκτύπωση και δεδομένων εργαλεία ανάλυσης. Αυτό τεχνολογία σημαντικά να απλοποιήσετε και επιταχύνουν την ανάπτυξη.
  2. Είμαι νέο αυτοματισμού, πού μπορώ να βρω καλή πόρους για να μάθετε περισσότερα; ΚΕΦΑΛΑΙΟ 24 του Γιώργου Kruglinski του "Μέσα σε Visual C++" (ISBN:1-57231 - 565 - 2) παρέχει μια γενική επισκόπηση, καθώς και ορισμένα παραδείγματα μεγάλη. Επίσης, η Γνωσιακή Βάση της Microsoft είναι μια καλή πηγή πληροφοριών. Αυτό άρθρο ίδια είναι μια καλή αρχή και μπορείτε να βρείτε πιο συγκεκριμένη Οι αναφορές στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft:
    152023 Εντοπισμός πόροι μελέτη αυτοματισμού OLE
    Εάν προτιμάτε την εκμάθηση με παραδείγματα, ανατρέξτε στο ακόλουθο άρθρο Γνωσιακή Βάση της Microsoft:
    179706 ΔΙΑΔΙΚΑΣΙΕΣ χρήση MFC για να αυτοματοποιήσετε & δημιουργία/μορφή Excel ένα νέο βιβλίο εργασίας
  3. Υπάρχουν τρόποι που μπορείτε να χρησιμοποιήσετε αυτοματισμό;

    Υπάρχουν τρεις βασικοί τρόποι χρήσης της αυτοματοποίησης: MFC, # Import, και C/C++:

    • Με MFC, χρησιμοποιήστε το Visual C++ ClassWizard για τη δημιουργία ενημερωμένων εκδόσεων" βιβλιοθηκών τύπων κλάσεις"από το Microsoft Office. Αυτές οι κλάσεις, ως καθώς και άλλες κλάσεις MFC, όπως COleVariant, COleSafeArray, COleException, Απλοποιήστε τις εργασίες της αυτοματοποίησης. Αυτή η μέθοδος είναι Συνιστάται συνήθως μέσω των άλλων και πιο της Microsoft Παραδείγματα της Γνωσιακής Βάσης της Microsoft χρησιμοποιούν MFC.
    • # Import, μια νέα οδηγία που έγιναν διαθέσιμες με Visual C++ 5.0, δημιουργεί το VC ++ "έξυπνη δείκτες" από μια βιβλιοθήκη του καθορισμένου τύπου. Είναι πολύ ισχυρό, αλλά συχνά δεν συνιστάται εξαιτίας της αναφοράς - μετρώντας τα προβλήματα που προκύπτουν συνήθως όταν χρησιμοποιείται με το Microsoft Εφαρμογές του Office.
    • Αυτοματοποίηση C/C++ είναι πολύ πιο δύσκολο, αλλά μερικές φορές είναι απαραίτητο να αποφύγετε την επιβάρυνση με MFC ή προβλήματα με # Import. Βασικά, μπορείτε λειτουργεί με τα API CoCreateInstance() και COM διασυνδέσεις όπως IDispatch και IUnknown.
    Είναι σημαντικό να σημειωθεί ότι υπάρχουν μερικές μικρές διαφορές μεταξύ Αυτοματοποίηση από C++ σε σύγκριση με απλό c επειδή COM έχει σχεδιαστεί γύρω από κλάση C++. Για περισσότερες πληροφορίες, ανατρέξτε στο ακόλουθο άρθρο η Γνωσιακή Βάση της Microsoft για ένα παράδειγμα, C:
    181473 ΔΙΑΔΙΚΑΣΙΕΣ: Χρησιμοποιήστε αυτοματισμό OLE από μια εφαρμογή c
  4. Τι είναι η COM;

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

    COM είναι επίσης ένα σύνολο υπηρεσιών που παρέχονται από βιβλιοθήκες δυναμικής σύνδεσης (DLL) εγκατάσταση με το λειτουργικό σύστημα. Αυτοματοποίηση χρησιμοποιεί πολλές από αυτές υπηρεσίες. Ένα παράδειγμα είναι η υπηρεσία "Σταθμούς", τα πακέτα που το εφαρμογή-πελάτης κλήσεις σε λειτουργίες μέλος του διακομιστή εφαρμογή του διασυνδέσεις και μεταβιβάζει αυτές με τους ορίσματα, για το εφαρμογή διακομιστή. Καθιστά φαίνεται ότι οι διασυνδέσεις του διακομιστή εκτίθενται σε χώρο μνήμης του υπολογιστή-πελάτη, το οποίο δεν συμβαίνει όταν το πρόγραμμα-πελάτης είναι .exe εκτελεί στο δικό του χώρο διεργασίας. Επίσης παράταξης λαμβάνει τις τιμές που επιστρέφει από το διακομιστή μεθόδους πίσω μέσω της διαδικασίας όρια και ασφαλή χέρια κλήσης του προγράμματος-πελάτη. Υπάρχουν πολλές άλλες υπηρεσίες ουσιώδη αυτοματισμού που παρέχονται από το διάφορες βιβλιοθήκες COM. Περιλαμβάνει πληροφορίες σχετικά με τις πηγές "Μέσα Ole - Second Edition", Kraig Brockschmidt, ISBN 1-55615-843-2 "Μέσα COM" από Dale Rogerson - ISBN 1-57231-349-8 και "αυτοματοποίηση Εγχειρίδιο προγραμματιστή,"ISBN 1-57231-584-9.
  5. Πώς επισυνάψετε να εκτελείται μια εφαρμογή του Office;

    Χρησιμοποιήστε το GetActiveObject() API. Διακομιστές αυτοματοποίησης εγγραφούν το ROT (εκτέλεση αντικείμενο πίνακα), μέσω του API RegisterActiveObject(). Προγράμματα-πελάτες αυτοματισμού να λάβετε κατά την εκτέλεση περιόδου λειτουργίας με κωδικό όπως:
          // Translate server ProgID into a CLSID. ClsidFromProgID
          // gets this information from the registry.
          CLSID clsid;
          CLSIDFromProgID(L"Excel.Application", &clsid);  
    
          // Get an interface to the running instance, if any..
          IUnknown *pUnk;
          HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
    
          ASSERT(!FAILED(hr));
    
          // Get IDispatch interface for Automation...
          IDispatch *pDisp;
          hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
          ASSERT(!FAILED(hr));
    
          // Release the no-longer-needed IUnknown...
          pUnk->Release();
    
    						
    ΣΗΜΕΊΩΣΗ: Αν υπάρχουν πολλές παρουσίες εκτέλεση εφαρμογής του Office που θέλετε να προσαρτήσετε, μόνο θα μπορείτε να επισυνάψετε την πρώτη παρουσία που ξεκίνησε με τη χρήση του API GetActiveObject().

    Θεωρητικά, μπορείτε να επαναλάβετε ROT για κάθε μεμονωμένη περίοδο λειτουργίας, αλλά εφαρμογές του Office δεν εγγράφονται τα, εάν είναι ήδη μια άλλη περίοδος λειτουργίας σε ROT το επειδή το αναγνωριστικό για την ίδια είναι πάντα το ίδιο ( Δεν ήταν δυνατό να διακρίνονται οπωσδήποτε). Αυτό σημαίνει ότι δεν μπορείτε να επισυνάψετε σε οποιαδήποτε παρουσία εκτός για το πρώτο. Ωστόσο, επειδή εφαρμογές του Office επίσης καταχωρήσετε τα έγγραφά τους σε ROT το, μπορείτε να επισυνάψετε με επιτυχία άλλες εμφανίσεις με επαναλήψεις ROT ψάχνετε για ένα συγκεκριμένο έγγραφο, Επισύναψη σε αυτό και, στη συνέχεια, λήψη αντικείμενο εφαρμογής από αυτό. Δεν υπάρχει ορισμένες κώδικα στο ακόλουθο άρθρο της Γνωσιακής Βάσης της Microsoft για Επανάληψη εμφάνισης του ROT και αναζητώντας ένα όνομα εγγράφου:
    190985 ΔΙΑΔΙΚΑΣΙΕΣ: Λήψη IDispatch του Excel ή το έγγραφο του Word από μια OCX
    Δεν θα χρειαστεί να το κάνετε αυτό για το PowerPoint, επειδή είναι ένα μονό- εφαρμογή της παρουσίας. Μπορείτε να έχετε μόνο μία παρουσία του να εκτελείται.
  6. Πώς μπορώ να περάσει προαιρετικές παραμέτρους;

    Ορισμένες μέθοδοι έχουν παραμέτρους "προαιρετική". Στη Visual Basic, μπορείτε να θα παραλείψετε τους κατά την κλήση της μεθόδου. Ωστόσο, κατά την κλήση με Είναι Visual C++ που πρέπει να περάσει ένα ειδικό ΧΑΡΑΚΤΗΡΙΣΤΙΚΌ του οποίου στο πεδίο .vt VT_ERROR, και το πεδίο .scode είναι DISP_E_PARAMNOTFOUND. Που είναι:
          // VARIANT used in place of optional-parameters.
          VARIANT varOpt;
          varOpt.vt = VT_ERROR;
          varOpt.scode = DISP_E_PARAMNOTFOUND;
    						
    Αυτό είναι πραγματικά τι κάνει Visual Basic παρασκηνιακή.
  7. Πώς μπορώ να εντοπίζει συμβάντα εκτεθεί από εφαρμογές του Office;

    Βασικά υλοποιεί τη διασύνδεση συμβάντος που θέλετε να τραβήξετε (το "sink"), και η εγκατάσταση συμβουλευτική σύνδεσης με την εφαρμογή (ο "πηγή"). Το ακόλουθο άρθρο παρέχει βήμα προς βήμα παραδείγματα για Το Microsoft Word:
    183599 ΔΙΑΔΙΚΑΣΙΕΣ: Catch συμβάντα εφαρμογής Microsoft Word97 χρησιμοποιώντας VC ++
    Γενικά, για την εγκατάσταση συμβουλευτική σύνδεσης, λαμβάνετε το διακομιστή IConnectionPointContainer και FindConnectionPoint() με IID της κλήσης διασύνδεση συμβάντων. Αυτό σας δίνει μια διασύνδεση IConnectionPoint και όλα που απομένει είναι η κλήση του Advise() με μια παρουσία του συμβάντος σας διασύνδεση. Ο διακομιστής θα κατόπιν διασύνδεσης κλήσης μέσω αυτό όταν αυτά τα συμβάντα συμβαίνουν.
  8. Ο κωδικός αυτοματισμού μου είναι πολύ αργή. Πώς μπορώ να επιταχύνω πράγματα;

    Είναι μια συνηθισμένη αιτία ταχύτητα προβλήματα με την αυτοματοποίηση με επαναλαμβανόμενες ανάγνωση και εγγραφή δεδομένων. Αυτό είναι τυπικό για τον αυτοματισμό του Excel Οι υπολογιστές-πελάτες. Ωστόσο, οι περισσότεροι άνθρωποι δεν γνωρίζουν ότι τα δεδομένα αυτά μπορεί να είναι συνήθως γραπτή ή ανάγνωσης όλα σε μία φορά χρησιμοποιώντας SAFEARRAY. Δείτε παρακάτω Microsoft Τα άρθρα της Γνωσιακής βάσης για περισσότερες πληροφορίες και παραδείγματα πληροφοριακά:
    186120 ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση MFC για να αυτοματοποιήσετε το Excel και να συμπληρώσετε μια περιοχή με έναν πίνακα
    186122 ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση MFC για να αυτοματοποιήσετε το Excel & απόκτησης ενός πίνακα από μια περιοχή
    179706 ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση MFC για να αυτοματοποιήσετε το Excel και δημιουργήστε/μορφή ένα νέο βιβλίο εργασίας
    Επίσης, είναι σημαντικό να υπενθυμιστεί ότι χρησιμοποιείτε το Πρόχειρο μπορεί Μερικές φορές βελτίωση της απόδοσης. Για παράδειγμα, μπορείτε να αντιγράψετε τα δεδομένα σας το Πρόχειρο και στη συνέχεια χρησιμοποιήστε αυτοματισμό για να πείτε στο διακομιστή για να επικολλήσετε. Ή αντίστροφα- αντίστροφο. Πείτε το διακομιστή για αντιγραφή στο Πρόχειρο και να επικολλήσετε σας εφαρμογή.
  9. Τι κάνουν αυτά τα τεράστια λανθασμένες τιμές, όπως-2147352573 ή 0x80030002 σημαίνει;

    Οι τιμές αυτές είναι γνωστές ως τιμή HRESULTs και ορίζονται για το winerror.h. Το Οι αριθμοί είναι τόσο μεγάλο, επειδή η πρώτη bit αντιπροσωπεύει ή όχι το είναι ένα αποτέλεσμα σφάλμα. Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα ErrLook.Exe που παρέχεται με Visual C++ για να μετατρέψει τους αριθμούς αυτούς σε περιγραφές νόημα.

    Εάν θέλετε να αποκτήσετε μέσω προγραμματισμού μια περιγραφή για σφάλματα, μπορείτε να χρησιμοποιήσετε το API FormatMessage(). Δείτε παρακάτω γνώσεων της Microsoft Βασική άρθρα για περισσότερες πληροφορίες και παραδείγματα σχετικά με τη χρήση του FormatMessage():
    186063 ΠΛΗΡΟΦΟΡΙΕΣ: Μεταφράζοντας σφάλματα αυτοματισμού για VB/VBA
    122957 ΔΕΊΓΜΑ: Decode32 και Decode16 OLE αποκωδικοποιητή κωδικός σφάλματος εργαλεία
    ΣΗΜΕΊΩΣΗ: Προσάρτηση Εάν χρησιμοποιείτε το Visual C++ 6.0 και έχετε μια μεταβλητή που περιέχει αυτήν την τιμή στο παράθυρο Watches εντοπισμού σφαλμάτων, ", hr" (χωρίς εισαγωγικά) για να έχετε Visual C++ μετάφραση για!
  10. Τι είναι μια βιβλιοθήκη τύπων;

    Μια βιβλιοθήκη τύπων είναι παρόμοιο με ένα αρχείο κεφαλίδας C/C++. Περιέχει το διασυνδέσεις, μεθόδους και ιδιότητες που δημοσίευσης ενός διακομιστή. Μπορείτε να προβάλετε τη βιβλιοθήκη τύπων με το πρόγραμμα προβολής του αντικειμένου OLE/COM (Oleview.exe) που διατίθεται με Visual C++. Ακολουθεί μια λίστα με ονόματα αρχείων βιβλιοθήκης τύπου για Microsoft Office 95, 97 και 2000:
    
           Office Application      | Type library
           ------------------------+----------------
           Word 95 and prior       | wb70en32.tlb
           Excel 95 and prior      | xl5en32.olb
           Powerpoint 95 and prior | Powerpoint.tlb
           Access 95 and prior     | msaccess.tlb
           Binder 95               | binder.tlb
           Schedule+               | sp7en32.olb
           Project                 | pj4en32.olb
           Team Manager            | mstmgr1.olb
           Word 97                 | msword8.olb
           Excel 97                | excel8.olb
           Powerpoint 97           | msppt8.olb
           Access 97               | msacc8.olb
           Binder 97               | msbdr8.olb
           Graph 97                | graph8.olb
           Outlook 97              | msoutl8.olb
           Outlook 98              | msoutl85.olb
           Word 2000               | msword9.olb
           Excel 2000              | excel9.olb
           Powerpoint 2000         | msppt9.olb
           Access 2000             | msacc9.olb
           Outlook 2000            | msoutl9.olb
           Word 2002               | msword.olb
           Excel 2002              | excel.exe
           Powerpoint 2002         | msppt.olb
           Access 2002             | msacc.olb
           Outlook 2002            | msoutl.olb 
    
    
    						
  1. Μου κώδικας αυτοματοποίησης λειτουργούσε με το Excel 95, αλλά αποτυγχάνει με το Excel 97. Τι συμβαίνει;

    Το μοντέλο αντικειμένου του Excel κάνει σημαντική αλλαγή από έκδοση 95 97. Excel 95 υλοποιηθεί όλες τις μεθόδους και ιδιότητες σε μία μόνο υλοποίηση του IDispatch. Αυτό σήμαινε ότι συχνά μπορείτε να πραγματοποιήσετε κλήση μέθοδοι προοριζόταν για αντικείμενο X, Y του αντικειμένου. Δεν ήταν μια καλή σχεδίαση έτσι στο Office 97, κάθε αντικείμενο διαθέτει τη δική του ξεχωριστή Idispatch εφαρμογή. Αυτό σημαίνει ότι εάν ζητήσετε μεθόδου ή ιδιότητας από αντικείμενο x από ξεχωριστό αντικείμενο Y, λαμβάνετε το σφάλμα 0x80020003, -2147352573, "Μέλος δεν βρέθηκε." Για να αποφύγετε αυτό το σφάλμα, πρέπει να κάνετε ότι ότι η υποκείμενη διασύνδεση IDispatch κάνετε κλήσεις από είναι η σωστή σημειωτικής. Δείτε παρακάτω γνώσεων της Microsoft Βασική άρθρα για περισσότερες πληροφορίες:
    172108 ΔΙΑΔΙΚΑΣΙΕΣ: Αντιμετώπιση προβλημάτων "Μέλος δεν βρέθηκε", 0x80020003 σφάλμα
  2. Η εφαρμογή αυτοματοποίηση παραμένει στη μνήμη μετά το πρόγραμμά μου ολοκληρώθηκε. Τι συμβαίνει;

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

    • Εάν χρησιμοποιείτε # Import, είναι πολύ πιθανό να μπορεί να εκτελείται σε ένα από τα σφάλματα μετρώντας αναφοράς που σχετίζεται με αυτό. Συχνά φορές τα σφάλματα μπορούν να εργαστούν γύρω από, αλλά συνήθως προτιμάται για να χρησιμοποιήσετε ένα άλλες μέθοδοι αυτοματισμού. # Import δεν λειτουργεί πολύ καλά με τις εφαρμογές του Office, επειδή βιβλιοθήκες τύπων και τη χρήση είναι αρκετά πολύπλοκη. Επίσης, τα προβλήματα απογραφής αναφοράς είναι δύσκολη Για να παρακολουθείτε επειδή είναι πολύ κλήσεις επίπεδο διασύνδεσης COM παρασκηνιακή όταν χρησιμοποιείτε το # Import.
    • Ελέγξτε εάν καλείτε τις μεθόδους, όπως άνοιγμα ή δημιουργία, που επιστρέφουν IDispatch * (LPDISPATCH) και παραβλέποντας την επιστροφή η τιμή. Εάν, στη συνέχεια, να εγκατάλειψη αυτής της διασύνδεσης που επιστρέφεται και θα χρειαστεί να αλλάξετε τον κωδικό σας, έτσι ώστε όταν χωρίς έκδοση χρειάζονται πλέον.
    • Σταδιακά σχολιάζετε ενότητες κώδικα μέχρι το πρόβλημα εξαφανίζεται και, στη συνέχεια, προσθέστε το πίσω judiciously για την παρακολούθηση των όπου το ξεκινά το πρόβλημα.
    • Σημειώστε ότι ορισμένες εφαρμογές θα παραμείνει εκτελείται εάν ο χρήστης έχει "αυτά" της εφαρμογής. Εάν συμβεί αυτό ενώ αυτοματοποίησης, μετά την εφαρμογή πιθανότατα θα παραμείνει εκτελείται αργότερα. Το Εφαρμογές του Office έχουν μια ιδιότητα "usercontrol" στην εφαρμογή αντικείμενο που μπορείτε να ανάγνωσης/εγγραφής για να αλλάξετε αυτήν τη συμπεριφορά.
    • Επίσης, ορισμένες εφαρμογές θα αποφασίσετε να παραμείνετε εκτελείται εάν υπάρχει αρκετός Παρουσιάστηκε το περιβάλλον εργασίας χρήστη "ενέργεια". Εάν σκοπεύετε τα εφαρμογή για έξοδο, τότε Καλέστε τη μέθοδο Quit() για την εφαρμογή το αντικείμενο. Το Word θα τερματισμού, ανεξάρτητα από την αναφορά της καταμέτρηση όταν Κλείστε ονομάζεται. Αυτό δεν είναι αναμενόμενη συμπεριφορά COM. Excel, ωστόσο, σωστά απλώς θα κρυφτούν αλλά θα παραμείνει εκτελείται μέχρι όλες τις εκκρεμείς κυκλοφόρησαν διασυνδέσεις. Γενικά, θα πρέπει να απελευθέρωση όλων εξαιρετική αναφορές και μόνο κλήση Quit() Εάν σκοπεύετε τα εφαρμογή για να τερματίσετε.
  3. Γνωρίζω τι θέλετε να κάνετε ως χρήστης εφαρμογών του Office, αλλά το πώς γίνεται αυτό μέσω προγραμματισμού μέσω της αυτοματοποίησης;

    Τι σας ενδιαφέρει είναι ποια αντικείμενα, μεθόδους και ιδιότητες που πρέπει να χρησιμοποιήσετε. Ο καλύτερος τρόπος για να μάθετε πώς μπορείτε να περιηγηθείτε τα μοντέλα αντικειμένου Το Word, Excel και Powerpoint, με βάση το τι θέλετε να κάνετε ως χρήστης, είναι Για να χρησιμοποιήσετε το πρόγραμμα καταγραφής μακροεντολών. Απλώς επιλέξτε Macro\ 'Καταγραφή νέας μακροεντολής' από το Μενού "Εργαλεία", η εκτέλεση των εργασιών που σας ενδιαφέρει και στη συνέχεια επιλέξτε Macro\ «Διακοπή καταγραφής.» Μόλις ολοκληρώσετε τη διαδικασία εγγραφής, επιλέξτε Macro\Macros από το μενού Εργαλεία, επιλέξτε τη μακροεντολή που καταγράψατε, και στη συνέχεια κάντε κλικ στο κουμπί Επεξεργασία. Αυτό θα σας οδηγήσει σε κώδικα VBA που δημιουργήθηκε που θα πραγματοποιήσετε την η εργασία που έχει καταγραφεί. Λάβετε υπόψη σας την καταγεγραμμένη μακροεντολή δεν θα είναι η καλύτερη πιθανές κώδικα στις περισσότερες περιπτώσεις, αλλά είναι πολύ καλά κάνει για μια γρήγορη παράδειγμα.
  4. Μπορώ να αυτοματοποιήσετε μια ενσωματωμένη εφαρμογή του Office;

    Απολύτως. Την μπάζα γίνεται δείκτης IDispatch: αυτό δίνεται σε Οπτική Σημείωση τεχνικής C++ 39 (TN039). Δείτε παρακάτω Microsoft Άρθρο Γνωσιακής βάσης, για παράδειγμα, ένα βήμα προς βήμα:
    184663 ΔΙΑΔΙΚΑΣΙΕΣ: Ενσωμάτωση και αυτοματοποίηση ένα φύλλο εργασίας του Microsoft Excel με MFC
  5. Πώς μπορώ να αποκτήσω πρόσβαση μου ιδιότητες εγγράφου σε ένα έγγραφο του Office;

    Ιδιότητες εγγράφου είναι προσβάσιμες μέσω της αυτοματοποίησης, ή απευθείας μέσω του IPropertyStorage. Στα ακόλουθα άρθρα της Γνωσιακής Βάσης της Microsoft δείχνουν κάθε μέθοδο:
    179494 ΔΙΑΔΙΚΑΣΙΕΣ: Χρήση αυτοματοποίησης για την ανάκτηση ενσωματωμένες ιδιότητες εγγράφου
    186898 ΔΙΑΔΙΚΑΣΙΕΣ: Ανάγνωση ιδιότητες σύνθετων εγγράφων απευθείας με VC ++

Ιδιότητες

Αναγν. άρθρου: 196776 - Τελευταία αναθεώρηση: Παρασκευή, 27 Μαΐου 2011 - Αναθεώρηση: 6.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual C++ 2008 Express Edition
  • Microsoft Project 2000 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Word 97 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Access 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Outlook 2002 Standard Edition
Λέξεις-κλειδιά: 
kbsweptvs2008 kbautomation kbmt KB196776 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:196776

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com