Τρόπος χρήσης μιας βιβλιοθήκης τύπων για την αυτοματοποίηση του Office από το Visual C++ .NET

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

Περίληψη

Αυτό το άρθρο περιγράφει τον τρόπο δημιουργίας ενός Visual C++ .NET που ενεργεί ως ένα πρόγραμμα-πελάτη αυτοματισμού για εφαρμογές που είναι Component Object Model (COM) συμβατό με το έργο. Το δείγμα σε αυτό το άρθρο χρησιμοποιεί Microsoft Foundation Classes (MFC) με wrappers κλάσης ενός στοιχείου του Office.

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

Τα παρακάτω βήματα δείχνουν τον τρόπο για να δημιουργήσετε έναν απλό υπολογιστή-πελάτη αυτοματισμού. Υπάρχουν τρία βασικά βήματα στη διαδικασία αυτή:
  1. Η δημιουργία του προγράμματος-πελάτη αυτοματισμού.
  2. Προσθήκη κώδικα για αυτοματοποίηση του Microsoft Excel.
  3. Εκτελέστε το πρόγραμμα-πελάτη αυτοματισμού.
Μπορείτε να χρησιμοποιήσετε το πρώτο βήμα, για να δημιουργήσετε ένα νέο αυτοματισμού προγράμματος-πελάτη, ανεξάρτητα από το διακομιστή αυτοματοποίησης που χρησιμοποιείτε. Το δεύτερο βήμα,Προσθήκη κώδικα για αυτοματοποίηση του Microsoft Excel, αφορά τον διακομιστή Automation.

Δημιουργία ενός προγράμματος-πελάτη αυτοματισμού

  1. Ξεκινήστε το Microsoft Visual Studio .NET. Στο διακομιστήFILEμενού, κάντε κλικ στο κουμπίΝέα, και στη συνέχεια κάντε κλικ στο κουμπίΤο έργο. ΕπιλογήΕφαρμογής MFCαπό τους τύπους έργα Visual C++, και στη συνέχεια το όνομα του έργου AutoProject.
  2. Όταν εμφανιστεί ο "Οδηγός εφαρμογής MFC", κάντε κλικ στο κουμπίΤύπος εφαρμογής, ορίστε τον τύπο εφαρμογήςΜε το παράθυρο διαλόγου, και στη συνέχεια κάντε κλικ στο κουμπίΦινλανδικά.
  3. Τροποποίηση τουIDD_AUTOPROJECT_DIALOGπαράθυρο διαλόγου ως εξής:
    1. Κατάργηση τουΕτικέτα (Label)στοιχείο ελέγχου (IDC_STATIC) και τοΆκυρο (Cancel)κουμπί (IDCANCEL).
    2. Αλλαγή του Αναγνωριστικού τουOkκουμπί "IDRUN" και τη λεζάντα "Εκτέλεση".
  4. Δημιουργία κλάσης wrappers από τη βιβλιοθήκη τύπων για τον διακομιστή Automation ως εξής:
    1. Στην Εξερεύνηση των λύσεων, κάντε δεξιό κλικAutoProject, και στη συνέχεια κάντε κλικ στο κουμπίΠροσθήκη κατηγορίας.
    2. Κάντε κλικΚλάση MFC από βιβλιοθήκης τύπων, και στη συνέχεια κάντε κλικ στο κουμπίOpen.
    3. Κάντε κλικΠροσθήκη μιας κλάσης από: μητρώο, και εντοπίστε τον καταχωρημένο τύπο αρχείου βιβλιοθήκης για την αυτοματοποίηση του διακομιστή.

      Αυτό το παράδειγμα, επιλέξτε "Microsoft Excel 10.0 Type Library" για Microsoft ExcelXP ή "Microsoft Excel 9.0 Type Library" για το Microsoft Excel 2000.
    4. Επιλέξτε τις διασυνδέσεις που χρειάζεστε από τη λίστα και στη συνέχεια κάντε κλικ στο μεγαλύτερο από σύμβολο (>) για να τα προσθέσετε στη λίστα των διασυνδέσεων για τις οποίες MFC δημιουργεί wrappers. Κάντε κλικΦινλανδικάΑφού προσθέσετε όλες τις διασυνδέσεις.

      Αυτό το παράδειγμα, χρειάζεστε μόνο το_ApplicationΔιασύνδεση.

      ΣημαντικόΕάν υπάρχουν πολλές διασυνδέσεις στη βιβλιοθήκη τύπων που επιλέξατε, επιλέξτε μόνο τις διασυνδέσεις που θέλετε να χρησιμοποιήσετε, επειδή η MFC θα δημιουργήσει ένα αρχείο κεφαλίδων ξεχωριστά για κάθε επιλεγμένη διασύνδεση. Ελαχιστοποιώντας τις επιλογές σας περιβάλλον, μπορείτε να αποφύγετε περιττή επιβάρυνση κατά τη δημιουργία του αρχείου και μεταγλώττισης.
  5. Για να φορτώσετε και να ενεργοποιήσετε τη βιβλιοθήκη υπηρεσίες COM για τοCAutoProjectApp::InitInstanceλειτουργεί, προσθέστε τον ακόλουθο κώδικα:
    if(!AfxOleInit())  // Your addition starts here.
    {
      AfxMessageBox("Cannot initialize COM dll");
      return FALSE;
      // End of your addition.
    }
    
    AfxEnableControlContainer();
    					
  6. Για να προσθέσετε μια οδηγία συμπερίληψης για κάθε αρχείο κεφαλίδας που δημιουργούνται από τις διασυνδέσεις στη βιβλιοθήκη τύπων του διακομιστή αυτοματοποίησης. Προσθέστε τις οδηγίες μετά τη δήλωση include για Stdafx.h στην κορυφή της AutoProjectDlg.cpp.

    Αυτό το παράδειγμα, προσθέστε ένα συμπερίληψης για το αρχείο κεφαλίδας CApplication.h, το οποίο δημιουργείται για το_ApplicationΔιασύνδεση:
          #include "stdafx.h"
          #include "CApplication.h"
    					

Προσθήκη κώδικα για αυτοματοποίηση του Microsoft Excel

ΣτοIDD_AUTOPROJECT_DIALOGπαράθυρο διαλόγου, κάντε δεξιό κλικΕκτέλεση, και στη συνέχεια κάντε κλικ στο κουμπίΠροσθήκη δείκτη χειρισμού συμβάντωναπό το πλαίσιο αναπτυσσόμενης λίστας. Στον Οδηγό προγράμματος χειρισμού συμβάντων, επιλέξτε τοBN_CLICKEDΤύπος μηνύματος και, στη συνέχεια, κάντε κλικ στο κουμπίΠροσθήκη και επεξεργασία. Προσθέστε τον ακόλουθο κώδικα για τον αυτοματισμό του Excel στο πρόγραμμα χειρισμού:
void CAutoProjectDlg::OnBnClickedRun()
{
   CApplication app;  // app is the Excel _Application object

   // Start Excel and get Application object.

   if(!app.CreateDispatch("Excel.Application"))
   {
      AfxMessageBox("Cannot start Excel and get Application object.");
      return;
   }
   else
   {
      //Make the application visible and give the user control of
      //Microsoft Excel.
      app.put_Visible(TRUE);
      app.put_UserControl(TRUE);
   }
} 
				

Εκτελέστε το πρόγραμμα-πελάτη αυτοματισμού

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

Πρόσθετες σημειώσεις

Μετά την προσθήκη κλάσεων από μια βιβλιοθήκη τύπων στο έργο σας, ενδέχεται να παρατηρήσετε ότι εμφανίζεται στην προβολή κλάσης του έργου σας. Σε προβολή κατηγορίας, κάντε διπλό κλικ σε μια κατηγορία για να δείτε τις μεθόδους αυτής της κλάσης και στη συνέχεια κάντε διπλό κλικ στο τη μέθοδο για να δείτε τον ορισμό του που λειτουργούν στο αρχείο εφαρμογής από το πρόγραμμα εξομοίωσης MFC. You can review the definition of a member function if you want to verify a return type or if you must change an implementation of a function.

Although the earlier steps illustrate how to automate Microsoft Excel, you can apply the same ideas to automate other applications. The following list contains the file names for type libraries of other Microsoft Office applications:
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
ΕφαρμογήType Library
Microsoft Access 97Msacc8.olb
Microsoft Jet Database 3.5DAO350.dll
Microsoft Binder 97Msbdr8.olb
Microsoft Excel 97Excel8.olb
Microsoft Graph 97Graph8.olb
Microsoft Office 97Mso97.dll
Microsoft Outlook 97Msoutl97.olb
Microsoft PowerPoint 97Msppt8.olb
Microsoft Word 97Msword8.olb
Η Microsoft Access 2000Msacc9.olb
Microsoft Jet Database 3.51DAO360.dll
Microsoft Binder 2000Msbdr9.olb
Microsoft Excel 2000Excel9.olb
Microsoft Graph 2000Graph9.olb
Microsoft Office 2000Mso9.dll
Microsoft Outlook 2000Msoutl9.olb
Microsoft PowerPoint 2000Msppt9.olb
Microsoft Word 2000Msword9.olb
Microsoft Access 2002Msacc.olb
Microsoft Excel 2002Excel.exe
Microsoft Graph 2002Graph.exe
Microsoft Office 2002MSO.dll
Microsoft Outlook 2002MSOutl.olb
Microsoft PowerPoint 2002MSPpt.olb
Microsoft Word 2002MSWord.olb
Microsoft Office Access 2003Msacc.olb
Microsoft Office Excel 2003Excel.exe
Microsoft Office Graph 2003Graph.exe
Microsoft Office 2003MSO.dll
Microsoft Office Outlook 2003MSOutl.olb
Microsoft Office PowerPoint 2003MSPpt.olb
Microsoft Office Word 2003MSWord.olb
Microsoft Office Access 2007Msacc.olb
Microsoft Office Excel 2007Excel.exe
Microsoft Office Graph 2007Graph.exe
2007 Microsoft OfficeMSO.dll
Microsoft Office Outlook 2007MSOutl.olb
Microsoft Office PowerPoint 2007MSPpt.olb
Microsoft Office Word 2007MSWord.olb
ΣΗΜΕΙΩΣΗThe default location for these type libraries is:
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Office VersionΔιαδρομή
Το Office 97C:\Program Files\Microsoft Office\Office
Office 2000C:\Program Files\Microsoft Office\Office
Office XPC:\Program Files\Microsoft Office\Office10
Office 2003C:\Program Files\Microsoft Office\Office11
2007 OfficeC:\Program Files\Microsoft Office\Office12
The default location for Dao350.dll and Dao360.dll is C:\Program Files\Common Files\Microsoft Shared\Dao.

Αναφορές

For more general information about Visual C++ .NET, see the following Usenet newsgroup:
Microsoft.Public.dotnet.Languages.VC
Visit the Visual C++ .NET Support Center at the following Microsoft Web site:
http://support.microsoft.com/default.aspx?xmlid=fh%3BEN-US%3Bvcnet

Ιδιότητες

Αναγν. άρθρου: 307473 - Τελευταία αναθεώρηση: Πέμπτη, 6 Οκτωβρίου 2011 - Αναθεώρηση: 5.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Office Professional 2007
  • Microsoft Office Professional Edition 2003
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Office 97 Developer Edition
Λέξεις-κλειδιά: 
kbexpertiseinter kbautomation kbhowto kbnewsgrouplink kbmt KB307473 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:307473

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

 

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