Verwendung Automatisierung öffnen und Drucken eines Word-Dokuments

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 178784 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt die Version 4.2 von der Microsoft Foundation Class (MFC)-Bibliothek mit Microsoft Visual C++, Versionen 5.0 und 6.0 installiert verwenden, um öffnen und Drucken ein Microsoft Word-Dokument zu automatisieren.

Weitere Informationen

Sie können den Code in diesem Artikel in der Meldungshandlerfunktion eines Ereignisses in einer MFC-cpp-Datei definiert kopieren. Allerdings ist der Zweck des Codes Erläutern Sie den Vorgang Verwendung der IDispatch-Schnittstellen und Memberfunktionen in der Bibliothek Msword8 Typ definiert. Der Hauptvorteil stammt aus lesen und Verstehen des Codes, damit das Beispiel ändern oder Code völlig zur Automatisierung öffnen und Drucken eines Microsoft Word 97-Dokuments werden können.

Hinweise für die Automatisierung von Microsoft Word 2000 oder höher:

Einige Methoden und Eigenschaften haben in Microsoft Word 2000 und höher geändert. Weitere Informationen über den Beispielcode in diesem Artikel mit dem Microsoft Word 2000 und höher geben Bibliothek beschriebenen finden Sie in der folgenden Artikel der Microsoft Knowledge Base:
224925INFO: Typbibliotheken für Office können sich mit neuen Version ändern.

Schritte zum Erstellen des Projekts

  1. Erstellen Sie in Microsoft Word ein neues Dokument, das Dokument Text hinzu, und speichern Sie es als Test.doc. Schließen Sie das Dokument und beenden Sie Word.
  2. Führen Sie die Schritte 1 bis 12 im folgenden Microsoft Knowledge Base Artikel ein Beispielprojekt zu erstellen, die IDispatch-Schnittstellen und Memberfunktionen in der Bibliothek MSWord8.olb Typ definierten verwendet:
    178749Gewusst wie: Erstellen eines Automatisierungsprojekts mit MFC und einer Typenbibliothek
  3. Fügen Sie am oberen Rand der AutoProjectDlg.cpp die folgende Zeile:
          #include "msword8.h" // msword9.h for Word 2000, msword.h for Word 2002
    					
  4. Fügen Sie folgenden Code hinzu CAutoProjectDlg::OnRun() in der Datei AutoProjectDLG.cpp.

    Beispielcode

           _Application objWord;
    
          // Convenient values declared as ColeVariants.
          COleVariant covTrue((short)TRUE),
                      covFalse((short)FALSE),
                      covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
    
          // Get the IDispatch pointer and attach it to the objWord object.
          if (!objWord.CreateDispatch("Word.Application"))
          {
             AfxMessageBox("Couldn't get Word object.");
             return;
          }
    
          objWord.SetVisible(TRUE);  //This shows the application.
    
          Documents docs(objWord.GetDocuments());
          _Document testDoc;
    
    
          testDoc.AttachDispatch(docs.Open(
                                 COleVariant("C:\\Test.doc",VT_BSTR),
                                 covFalse,    // Confirm Conversion.
                                 covFalse,    // ReadOnly.
                                 covFalse,    // AddToRecentFiles.
                                 covOptional, // PasswordDocument.
                                 covOptional, // PasswordTemplate.
                                 covFalse,    // Revert.
                                 covOptional, // WritePasswordDocument.
                                 covOptional, // WritePasswordTemplate.
                                 covOptional) // Format. // Last argument for Word 97
                                    covOptional, // Encoding // New for Word 2000/2002
                                    covTrue,     // Visible
                                    covOptional, // OpenConflictDocument
                                    covOptional, // OpenAndRepair
                                    (long)0,     // DocumentDirection wdDocumentDirection LeftToRight
                                    covOptional  // NoEncodingDialog
                                    )  // Close Open parameters
                                    ); // Close AttachDispatch(?)
    
           AfxMessageBox("Now printing 2 copies on the active printer");
    
           testDoc.PrintOut(covFalse,              // Background.
                            covOptional,           // Append.
                            covOptional,           // Range.
                            covOptional,           // OutputFileName.
                            covOptional,           // From.
                            covOptional,           // To.
                            covOptional,           // Item.
                            COleVariant((long)2),  // Copies.
                            covOptional,           // Pages.
                            covOptional,           // PageType.
                            covOptional,           // PrintToFile.
                            covOptional,           // Collate.
                            covOptional,           // ActivePrinterMacGX.
                            covOptional            // ManualDuplexPrint.
                            covOptional,           // PrintZoomColumn  New with Word 2002
                            covOptional,           // PrintZoomRow          ditto
                            covOptional,           // PrintZoomPaperWidth   ditto
                            covOptional);          // PrintZoomPaperHeight  ditto
    
           // If you wish to Print Preview the document rather than print it,
           // you can use the PrintPreview member function instead of the
           // PrintOut member function:
           //    testDoc[i].PrintPreview.
    
          objWord.Quit(covFalse,  // SaveChanges.
                       covTrue,   // OriginalFormat.
                       covFalse   // RouteDocument.
                       );
    					
  5. Möglicherweise müssen den Code in CAutoProjectDlg::OnRun() an den richtigen Pfad für Ihr Dokument Test.doc ändern. Das Dokument wird in der folgenden Zeile verwiesen:
          testDoc.AttachDispatch(docs.Open(
                                COleVariant("C:\\My Docs\\Test.doc",VT_BSTR)...
    					

Informationsquellen

Weitere Informationen zur Automatisierung von Office-Anwendungen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
222101So suchen und Verwenden der Dokumentation zum Office-Objektmodell

Eigenschaften

Artikel-ID: 178784 - Geändert am: Montag, 22. Januar 2007 - Version: 3.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Foundation Class Library 4.2, wenn verwendet mit:
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Word 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 97 Standard Edition
Keywords: 
kbmt kbprint kbopenfile kbautomation kbprogramming kbnewfile kbhowto kbinterop KB178784 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 178784
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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