ID Artikel: 238972 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0

Menggunakan Visual c ++ untuk mengotomatisasi Office

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

Pada Halaman ini

Perbesar semua | Perkecil semua

RINGKASAN

Anda dapat menggunakan otomatisasi untuk kontrol Microsoft Office komponen dari aplikasi Visual C++. Artikel ini menyediakan dasar informasi yang Anda butuhkan untuk mengotomatisasi Office, serta pointer ke sumber daya dan contoh kode.

INFORMASI LEBIH LANJUT

Otomatisasi (sebelumnya OLE Automation) adalah teknologi yang memungkinkan Anda untuk mengambil keuntungan dari program ada fungsi dan memasukkan ke dalam aplikasi Anda sendiri. Sebagai contoh, Anda dapat memanfaatkan Microsoft Word ejaan dan tata bahasa yang memeriksa kemampuan ke dalam aplikasi tanpa membuat Microsoft Word dapat dilihat oleh pengguna Anda. Anda bahkan dapat menggunakan semua Microsoft Excel charting, percetakan, dan data alat analisis. Ini teknologi dapat sangat mempermudah dan mempercepat pengembangan Anda.

Otomatisasi dan COM

Otomatisasi didasarkan pada Component Object Model (COM). COM adalah Arsitektur perangkat lunak standar didasarkan pada antarmuka, dan dirancang untuk memisahkan kode menjadi benda-benda yang mandiri. Menganggapnya sebagai perluasan dari objek Berorientasi paradigma pemrograman (OOP), tetapi berlaku untuk memisahkan aplikasi. Setiap objek memperlihatkan set interface, dan semua komunikasi ke objek, seperti inisialisasi, pemberitahuan, dan data transfer, terjadi melalui ini antarmuka.

COM adalah juga set layanan yang disediakan oleh dynamic-link Libraries (dll) diinstal dengan sistem operasi. Otomatisasi menggunakan banyak layanan tersebut. Salah satu contoh adalah "Menyusun" layanan, paket yang aplikasi klien panggilan ke fungsi anggota aplikasi server antarmuka, dan melewati mereka dengan argumen-argumen mereka untuk aplikasi server. Server antarmuka tampaknya terkena di ruang memori klien, yang ini tidak terjadi ketika klien adalah berkas .exe berjalan di sendiri proses ruang. Menyusun juga mendapat nilai-nilai kembali dari server metode kembali melintasi batas-batas proses dan aman ke tangan panggilan klien.

Ada banyak layanan lain yang penting untuk otomatisasi yang disediakan oleh perpustakaan COM berbagai. Sumber-sumber informasi tentang mereka meliputi:
  • Di dalam OLE - edisi kedua"oleh Kraig Brockschmidt, ISBN 1-55615-843-2
  • Di dalam COM"oleh Dale Rogerson - ISBN 1-57231-349-8
  • Otomatisasi Programmer referensi,"ISBN 1-57231-584-9

Tiga cara untuk menggunakan otomatisasi dari Visual C++

Ada tiga cara dasar yang Anda dapat menggunakan otomatisasi: MFC, #import, dan C/c + +:
  • Dengan MFC, menggunakan Visual C++ ClassWizard untuk menghasilkan "wrapper kelas" dari Microsoft Office ketik perpustakaan. Kelas-kelas ini, sebagai serta kelas-kelas MFC lain, seperti COleVariant, COleSafeArray, dan COleException, menyederhanakan tugas otomatisasi. Metode ini adalah biasanya direkomendasikan atas yang lain, dan sebagian besar contoh Basis Pengetahuan Microsoft menggunakan MFC.
  • #Import, arahan baru yang menjadi tersedia dengan Visual C++ 5.0, menciptakan VC ++ "smart pointer" dari perpustakaan jenis tertentu. Itu sangat kuat, tapi sering tidak direkomendasikan karena dari masalah menghitung referensi yang biasanya terjadi bila digunakan dengan Microsoft Office aplikasi.
  • C/C++ otomatisasi jauh lebih sulit, tapi kadang-kadang diperlukan untuk menghindari overhead dengan MFC, atau masalah dengan #import. Pada dasarnya, Anda bekerja dengan api tersebut sebagai CoCreateInstance(), dan COM antarmuka seperti sebagai IDispatch dan IUnknown.
Penting untuk dicatat bahwa ada beberapa perbedaan yang sedikit antara otomatisasi dari C++ dibandingkan dengan polos C, karena COM dirancang di kelas C++. Untuk informasi lebih lanjut mengenai otomatisasi dengan C, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
181473  (http://support.microsoft.com/kb/181473/ ) Cara menggunakan OLE Automation dari aplikasi c daripada C++

Cara menggunakan perpustakaan jenis kantor

Perpustakaan jenis ini mirip dengan file header C/C++. Ini berisi antarmuka, metode dan properti yang server penerbitan. Anda dapat melihat Perpustakaan jenis dengan OLE/COM objek Viewer (Oleview.exe) yang datang dengan Visual C++. Berikut adalah daftar nama file perpustakaan jenis untuk Microsoft Kantor 95, Microsoft Office 97, Microsoft Office 2000, Microsoft Office XP, Microsoft Office 2003 dan 2007 Microsoft Office.
Perkecil tabel iniPerbesar tabel ini
Aplikasi OfficePerpustakaan jenis
Word 95 dan sebelumwb70en32.TLB
Excel 95 dan sebelumxl5en32.olb
PowerPoint 95 dan sebelumPowerPoint.tlb
Akses 95 dan sebelummsaccess.TLB
Map 95binder.TLB
Schedule+sp7en32.olb
Projectpj4en32.olb
Manajer timmstmgr1.olb
Word 97msword8.olb
Excel 97excel8.olb
PowerPoint 97msppt8.olb
97 Aksesmsacc8.olb
Map 97msbdr8.olb
Grafik 97graph8.olb
Outlook 97msoutl8.olb
Outlook 98msoutl85.olb
Word 2000msword9.olb
Excel 2000excel9.olb
PowerPoint 2000msppt9.olb
Akses 2000msacc9.olb
Outlook 2000msoutl9.olb
Word 2002msword.olb
Excel 2002Excel.olb
PowerPoint 2002msppt.olb
Akses 2002msacc.olb
Outlook 2002msoutl.olb
Office Word 2003msword.olb
Office Excel 2003Excel.exe
Office PowerPoint 2003msppt.olb
Akses kantor 2003msacc.olb
Office Outlook 2003msoutl.olb
Office Word 2007msword.olb
Kantor Excel 2007Excel.exe
Office PowerPoint 2007msppt.olb
Office Access 2007msacc.olb
Office Outlook 2007msoutl.olb
Perpustakaan jenis menyediakan Anda dengan informasi tentang objek, metode dan properti Anda perlu menggunakan. Cara terbaik untuk Pelajari cara untuk menavigasi model objek Word, Excel, dan Powerpoint adalah untuk menggunakan makro perekam dalam aplikasi Office.

Untuk melakukan ini dalam program Office 2007, ikuti langkah berikut:
  1. Tampilkan Pengembang tab. Untuk melakukannya, klik Microsoft Office tombol, klik program Opsi, klik Populer, klik untuk memilih Tampilkan tab pengembang di pita Periksa kotak, dan kemudian klik Oke.
  2. Klik Pengembang tab.
  3. Dalam Kode grup, klik Catatan makro, dan kemudian melakukan tugas di mana Anda tertarik.
  4. Dalam Kode grup, klik Menghentikan rekaman.
  5. Segera setelah Anda selesai merekam, klik Makro dalam Kode grup, klik makro yang Anda tercatat, dan kemudian klik Mengedit.
Untuk melakukan ini dalam program Office 2003 dan versi sebelumnya dari kantor, ikuti langkah berikut:
  1. Pada Alat menu, titik Makro, klik Catatan baru makro, dan kemudian melakukan tugas di mana Anda tertarik.
  2. Pada Alat menu, titik Makro, lalu klik Menghentikan rekaman.
  3. Segera setelah Anda selesai merekam, arahkan ke Makro pada Alat menu, klik Makro, klik makro yang Anda mencatat, dan kemudian klik Mengedit.
Ini akan membawa Anda ke kode VBA yang menyelesaikan tugas yang direkam. Perlu diingat bahwa makro rekaman akan tidak menjadi kode mungkin terbaik dalam kebanyakan kasus, tetapi menyediakan cepat dan contoh yang digunakan.

Mengotomatisasi Office tertanam komponen

Untuk mengotomatisasi Office tertanam objek atau aplikasi, Anda perlu mendapatkan objek IDispatch pointer. Ini diberikan dalam Visual C++ teknis Perhatikan 39 (TN039). Anda dapat menemukan catatan teknis ini dalam Microsoft Foundation Perpustakaan kelas referensi Visual C++. Misalnya langkah demi langkah, silahkan klik nomor artikel berikut untuk menampilkan Basis Pengetahuan Microsoft:
184663  (http://support.microsoft.com/kb/184663/ ) Cara untuk menanamkan dan mengotomatisasi Microsoft Excel worksheet dengan MFC

REFERENSI

Bab 24 dari David Kruglinski "Di dalam Visual C++" (ISBN:1-57231-565 - 2) persediaan gambaran umum serta beberapa besar contoh. Juga, dalam Basis Pengetahuan Microsoft adalah sumber yang baik informasi.

Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
152023  (http://support.microsoft.com/kb/152023/ ) Menemukan sumber daya untuk belajar otomatisasi
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 (http://go.microsoft.com/fwlink/?LinkId=151500) for other considerations.

Berlaku bagi:
  • Microsoft Project 2000 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
  • Microsoft Office Word 2007
  • Microsoft Word 2002
  • Microsoft Word 2000
  • Microsoft Word 97 Standard Edition
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Office Excel 2007
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Office Outlook 2007
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard Edition
  • Microsoft Outlook 2000 Standard Edition
  • Microsoft Outlook 97 Standard Edition
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
Kata kunci: 
kbexpertiseinter kbinfo kbmt KB238972 KbMtid
Penerjemahan MesinPenerjemahan 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:238972  (http://support.microsoft.com/kb/238972/en-us/ )