Cara menggunakan otomatisasi untuk membuka dan mencetak dokumen Word

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 178784 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini membahas cara menggunakan versi 4.2 Microsoft Foundation Perpustakaan kelas (MFC) diinstal dengan Microsoft Visual C++ versi 5.0 dan 6.0 untuk mengotomatisasi membuka dan mencetak dokumen Microsoft Word.

INFORMASI LEBIH LANJUT

Anda dapat menyalin kode dalam artikel ini untuk fungsi pengendali pesan dari acara yang didefinisikan dalam berkas .cpp MFC. Namun, tujuan kode adalah untuk menggambarkan proses menggunakan antarmuka IDispatch dan anggota fungsi yang ditetapkan dalam perpustakaan jenis Msword8. Manfaat utama berasal dari membaca dan memahami kode sehingga Anda dapat mengubah misalnya, atau menulis kode dari awal untuk mengotomatisasi membuka dan mencetak Dokumen Microsoft Word 97.

Catatan untuk mengotomatisasi Microsoft Word 2000 dan kemudian:

Beberapa metode dan properti telah berubah untuk Microsoft Word 2000 dan kemudian. Untuk informasi tambahan tentang cara menggunakan kode contoh yang dijelaskan dalam artikel ini dengan Microsoft Word 2000 dan kemudian perpustakaan jenis, silakan lihat artikel berikut pada Basis Pengetahuan Microsoft:
224925 INFO: Perpustakaan jenis untuk kantor dapat berubah dengan rilis baru

Langkah-langkah untuk membuat proyek

  1. Di Microsoft Word, membuat dokumen baru, menambahkan beberapa teks ke document dan menyimpannya sebagai Test.doc. Menutup dokumen dan keluar Word.
  2. Ikuti langkah-langkah 1 sampai 12 berikut Microsoft basis pengetahuan artikel untuk membuat contoh proyek yang menggunakan antarmuka IDispatch dan fungsi anggota didefinisikan dalam perpustakaan jenis MSWord8.olb:
    178749 Cara membuat sebuah proyek otomatisasi menggunakan MFC dan perpustakaan jenis
  3. Di atas AutoProjectDlg.cpp, tambahkan baris berikut:
          #include "msword8.h" // msword9.h for Word 2000, msword.h for Word 2002
    					
  4. Tambahkan kode berikut untuk CAutoProjectDlg::OnRun() di AutoProjectDLG.cpp file.

    Contoh kode

           _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. Anda mungkin perlu untuk memodifikasi kode di CAutoProjectDlg::OnRun() untuk menunjukkan jalan yang tepat untuk dokumen Anda Test.doc. Dokumen referensi pada baris berikut:
          testDoc.AttachDispatch(docs.Open(
                                COleVariant("C:\\My Docs\\Test.doc",VT_BSTR)...
    					

REFERENSI

Untuk informasi tambahan tentang aplikasi otomatisasi Office, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
222101 Bagaimana menemukan dan menggunakan dokumentasi Model obyek Office
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 178784 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Foundation Class Library 4.2
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Word 2002
  • Microsoft Word 2000
  • Microsoft Word 97 Standard Edition
Kata kunci: 
kbprint kbopenfile kbautomation kbprogramming kbnewfile kbhowto kbinterop kbmt KB178784 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:178784

Berikan Masukan

 

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