INFO: Mengembangkan Microsoft Office solusi dengan Visual Studio.NET

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

Pada Halaman ini

RINGKASAN

Artikel ini adalah sumber untuk pengembang yang bekerja di Microsoft Visual Studio.NET untuk membangun solusi menggunakan Microsoft Office keluarga produk. Artikel ini suplemen Microsoft Developer Network Konten (MSDN) untuk Office Development with Visual Studio 6.0, yang mencakup banyak pilihan pembangunan lingkup yang lebih luas.

Artikel ini menyediakan panduan garis jatuh dasar untuk dengan cepat transisi pengembang yang sudah akrab dengan Office development in Visual Studio 6.0 untuk melakukan tugas-tugas yang sama menggunakan Visual Studio.NET. Memberikan sampel dan menunjukkan masalah yang diketahui dan masalah yang mungkin Anda alami ketika Anda bekerja dengan Microsoft.NET.

Isi

INFORMASI LEBIH LANJUT

Pengenalan

Keluarga Microsoft Office produk (termasuk Access, Excel, MapPoint, Outlook, PowerPoint, Project, Visio, dan kata) meliputi berbagai berbagai produktivitas peranti penangkap lunak yang dirancang untuk kedua perusahaan dan kecil pengguna bisnis. Sebagai suite alat pengguna akhir, kantor dapat membantu yang efisien penciptaan, berbagi, dan mengelola informasi bisnis Anda. Kantor juga dapat membantu Anda untuk menyesuaikan produk untuk organisasi Anda, atau untuk manfaatkan dari Kantor teknologi untuk memecahkan masalah tertentu.

Office development with Visual Studio.NET

Ada sejumlah cara yang berbeda untuk memperluas pemrograman, untuk mengotomatisasi, untuk mengintegrasikan atau untuk menggunakan Office dengan solusi pengembangan Anda. Jika Anda baru untuk mengembangkan solusi dengan kantor, lihat situs MSDN Web di Bagian "Ringkasan" dari artikel ini, yang mencakup banyak bentuk yang berbeda dari kantor pengembangan dan daftar artikel yang spesifik untuk setiap topik.

Kapan Anda memutuskan jenis kantor pembangunan yang harus Anda lakukan, langkah berikutnya adalah untuk memutuskan apa alat pengembangan untuk digunakan. Tujuan artikel ini adalah untuk membahas bagaimana membangun kantor solusi dalam Visual Studio.NET. Ini mencakup baik unmanaged bahasa seperti Microsoft Foundation Classes (MFC) dan aktif Template perpustakaan (ATL), dan dikelola bahasa seperti Visual Basic.NET dan Visual C#. Bahasa yang Anda pilih bergantung pada proyek Anda, sumber daya Anda, dan keakraban dengan bahasa tertentu.

Microsoft memiliki menulis sejumlah artikel Pangkalan Pengetahuan yang menunjukkan kepada Anda bagaimana untuk melakukan tugas kantor umum dalam Visual Studio.NET. Karena ada banyak artikel, tujuan artikel ini adalah untuk membantu untuk mengatur konten, dan untuk memberikan informasi penting yang harus Anda miliki untuk memecahkan masalah dan program lebih efektif ketika Anda bekerja di.NET.

Fitur penting perubahan dengan.NET Framework

Sebagian besar pengembang yang menggunakan Visual Studio.NET ingin mengembangkan di bahasa yang berkaitan erat dengan Microsoft.NET Framework. Ada beberapa Catatan Bila menggunakan perubahan-perubahan penting.NET Framework dengan kantor pembangunan. Jika kode Anda dalam Visual Basic, Visual C# atau pihak ketiga berhasil bahasa untuk.NET, akrab dengan perubahan tersebut untuk mengetahui bagaimana Anda mungkin harus struktur solusi kantor Anda.

Catatan Bagian ini berlaku untuk dikelola bahasa hanya. Jika Anda bekerja di MFC atau ATL, Anda dapat dengan aman melewati bagian ini kecuali Anda berencana untuk menggunakan Visual C++ berhasil ekstensi di suatu tempat di proyek Anda. Membaca berikut bagian jika Anda tidak terbiasa dengan perbedaan antara berhasil dan bahasa yang tidak dikelola.

The.NET Framework adalah tentang kode dikelola. Berhasil kode adalah kode yang berorientasi-objek, tipe-aman, berhasil kehabisan memori, aman, dan (sebagian besar dari semua) portabel. Kode ini dikompilasi pada permintaan (atau selama instalasi) dari bentuk aslinya, yang dinamakan Intermediate Language (IL), mesin kode yang benar-benar dapat berjalan pada prosesor. Selain itu, Microsoft memiliki didefinisikan set kelas (dengan namespaces) yang membentuk lingkungan runtime kode dikelola, yang dinamakan common language runtime. Umum Language runtime adalah tulang punggung pemrograman bahasa apapun dikelola di.NET, dan memberi Anda kontrol atas semua unsur-unsur yang harus Anda miliki untuk membuat Anda program.

Program yang ditulis dengan.NET Framework yang secara inheren lebih aman untuk menjalankan, karena mereka lebih stabil dan securable daripada program sebelumnya. Namun, kekuatan dan fleksibilitas ini datang pada harga. The harga adalah bahwa ada perbedaan struktural dalam bagaimana kode dikelola oleh common language runtime. Untuk pengembang yang akrab dengan kantor Development in Visual Studio 6.0, pertimbangkan berikut fitur penting lima perubahan, dan efek yang perubahan fitur ini memiliki pada Anda Proyek:

  1. COM interoperabilitas Dalam beberapa hal,.NET Framework adalah evolusi Component Object Model (COM) yang dibayangkan oleh Microsoft beberapa waktu lalu, dan yang berubah untuk Internet. The.NET Framework sangat berbeda dari COM, dan itu adalah istirahat radikal dari jenis komponen arsitektur bahwa Anda mungkin akrab dengan sebagai pengembang COM. Karena kantor dibangun sekitar COM dan OLE, Anda masih harus menggunakan antarmuka COM ketika Anda bekerja dengan Kantor. Microsoft mengakui masalah ini lebih awal, dan membangun dukungan untuk sebelumnya COM komunikasi (yang.NET merujuk sebagai COM Interop) ke.NET Kerangka kerja. Tujuan dari lapisan interoperabilitas adalah menambahkan "shim" antara Anda.Kode bersih dan obyek COM yang Anda berencana untuk menggunakan sehingga tidak sisi tahu bahwa itu adalah berbicara dengan sesuatu yang tidak asli untuk dirinya sendiri. Di lain-lain kata-kata, obyek COM muncul mirip dengan apapun.NET objek untuk bahasa umum runtime, dan.NET klien muncul mirip dengan klien COM untuk COM server. Anda harus akrab dengan COM Interop jika Anda berencana untuk melakukan kantor Development in Visual Studio.NET.
  2. Kematian varian The.NET-berhasil bahasa menggunakan sistem tipe data umum di Common language runtime. Yang penting tentang sistem jenis ini adalah bahwa semua tipe data mewarisi dari jenis tunggal "objek" yang memungkinkan data untuk ditangani polymorphically tanpa memerlukan lain di luar jenis (misalnya, COM atau OLE varian). Oleh karena itu,.NET Framework tidak menggunakan varian. Jika Anda Port kantor kode dari Microsoft Visual Basic for Applications (VBA) atau Visual 6.0 Dasar, Anda harus mengetik ulang varian sebagai objek, dan jenis objek baru dapat berisi jenis data lainnya daripada hanya otomatisasi (IDispatch **) objek. Membayar dekat memperhatikan bagaimana kode menggunakan ini jenis, dan menambahkan jenis memeriksa sebagai diperlukan.
  3. Pengumpulan sampah Berhasil bahasa penggunaan garbage collector untuk manajemen kehabisan memori. Model kehabisan memori ini digunakan untuk membantu.Proyek-proyek NET melakukan dan skala lebih baik daripada Jika model referensi digunakan. Itu juga dapat membantu mengurangi jumlah kebetulan kebocoran kehabisan memori yang disebabkan oleh referensi melingkar. Sementara ini baik, efek samping yang mungkin membingungkan bagi mereka yang akrab dengan Visual Basic 6.0 atau VBA, adalah bahwa garbage collector non-deterministik. Ketika Anda melepaskan referensi objek dalam VBA atau Visual Basic 6.0, rilis segera membebaskan objek yang dirujuk dan memungkinkan untuk menutup. Ini adalah tidak lagi benar di.NET. Karena dari garbage collector, ketika Anda melepaskan objek tidak menunjukkan ketika itu dibersihkan, dan ini dapat membuat deterministik program-program (seperti server kantor COM) dalam kehabisan memori lebih lama daripada yang Anda mungkin mengharapkan.
  4. Just in Time (JIT) kompilasi Kode berhasil disimpan dalam bentuk IL untuk menjadi platform netral. Ini berarti bahwa itu harus dikompilasi - terbang-seperti dijalankan pertama kali. Microsoft telah mengembangkan suatu proses JIT untuk dikelola bahasa yang cepat dan efisien, tetapi persyaratan kompilasi-on-demand ini berarti bahwa klien Anda atau komponen mungkin sedikit lebih lambat untuk memuat dari jika kode ini tidak dikelola. Selain itu, common language runtime melakukan kedua hal keamanan dan jenis memeriksa ketika menangani JIT, dan tidak diperkenankan menjalankan kode didasarkan pada pelaksanaan lingkungan.
  5. Batas dari OLE OLE konvensional bukan merupakan bagian dari common language runtime, dan itu adalah perlahan-lahan digantikan oleh XML dan HTML untuk "objek" representasi, dan oleh Microsoft SABUN untuk tautan langsung ke data sumber terpencil. Sementara tidak ada saat ini pengganti OLE (dalam segala hal).NET tidak menyediakan built-in mendukung untuk tradisional OLE penahanan atau layanan dalam kode dikelola. Sebagai hasilnya, paket WinForms baru (digunakan oleh kedua Visual Basic and Visual C#) tidak berisi OLE Container kontrol. Jika Anda memiliki solusi yang memerlukan Kantor OLE penahanan, mengembangkan unmanaged host, atau menggunakan browser web kontrol (atau kontrol tuan rumah OLE kustom) untuk menangani OLE untuk Anda.

Dengan isu-isu ini dalam pikiran, Anda dapat lebih baik pendekatan perbedaan ketika Anda menjalankan Office development in Visual Studio.NET dibandingkan Visual Studio 6.0.

Mengotomatisasi Office dari Visual Studio.NET

Mengotomatisasi Microsoft Office adalah cara yang nyaman dan fleksibel untuk menggabungkan fungsionalitas kantor ke solusi kustom Anda. Saat masa depan Versi Office akan mengintegrasikan dengan.NET Framework, saat ini dan masa lalu Versi Office tidak. Banyak dari apa yang harus Anda lakukan untuk mengotomatisasi Office tetap sama seperti apa yang Anda lakukan dalam Visual Studio 6.0. Kantor adalah COM berbasis, maka Anda harus Gunakan COM untuk pemrograman membuat perubahan ke kantor. Beberapa rincian berubah, tetapi pendekatan secara keseluruhan belum.

Untuk mengotomatisasi Microsoft Aplikasi Office dari Visual Studio.NET, Anda akan perlu untuk men-download dan Instal Majelis Interop utama (PIAs) untuk Microsoft Office XP. Untuk informasi lebih lanjut tentang Office XP PIAs, klik nomor artikel berikut ini untuk melihat artikel di Microsoft Basis Pengetahuan:
328912INFO: Microsoft Office XP PIAs tersedia untuk di-download


Pengembang yang bekerja dengan PIAs untuk Office XP harus menyadari bahwa Majelis sedikit berbeda dari Kantor object model. Oleh karena itu, Anda mungkin harus membuat perubahan kode jika Anda port aplikasi yang sudah ada. Selain itu, PIAs memperlihatkan perilaku yang ini konsisten dengan.NET sebagai berikut:
  • rilis nondeterministic kali
  • kurangnya dukungan untuk standar metode atau properti
  • perbedaan dalam bagaimana item tersebut diakses di Koleksi
Untuk informasi lebih lanjut tentang Office XP PIAs masalah yang diketahui, kunjungi Web site Microsoft berikut:

http://MSDN.Microsoft.com/en-us/library/aa163989.aspx

Kapan Anda bekerja pada solusi pengembangan Office, pertanyaan pertama yang Anda harus bertanya Versi Office Apakah proyek ini harus bekerja dengan? kompatibilitas mundur yang merupakan masalah penting, dan jika Anda membutuhkan kode untuk bekerja dengan versi tertentu, Anda harus melakukan sebanyak pengembangan dan pengujian awal dengan awal Versi kantor bahwa Anda perlu kode untuk kompatibel dengan. Sebagai contoh, Jika Anda membutuhkan proyek yang bekerja dengan Office 2000 dan kemudian, menggunakan Office 2000 (dan Office 2000 ketik perpustakaan) selama perkembangan Anda. Dengan cara ini Anda dapat Pastikan bahwa proyek Anda dapat menjalankan dengan Office 2000 dan kemudian (tetapi tidak selalu dengan Office 97). Untuk informasi lebih lanjut, klik nomor artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
244167INFO: Menulis otomatisasi klien untuk beberapa versi kantor
Ketika Anda memutuskan versi Office yang Anda harus bekerja dengan, Anda harus mempertimbangkan bagaimana Anda ingin melakukan Otomasi dalam Visual Studio.NET:
  • Menggunakan unmanaged kode in Visual C++ yang sama seperti yang Anda akan lakukan in Visual C++ 6.0. - atau -

  • Gunakan kode dikelola dalam Visual Basic, Visual C# atau Visual C++ dengan ekstensi dikelola, dan jasa COM Interop bahasa umum runtime untuk menangani COM panggilan untuk Anda.


Otomatisasi menggunakan unmanaged kode (Microsoft Foundation Classes (MFC) dan perpustakaan Template aktif (ATL))

Anda dapat membangun unmanaged COM klien dan server dengan Visual C++ .NET sama seperti Anda akan di versi sebelumnya dari Visual C++. MFC dan ATL kerangka tidak secara substansial berubah dalam hal COM atau OLE, begitu Anda kode yang sudah ada yang menggunakan otomatisasi Office dapat porting ke Visual C++.NET dengan sangat sedikit kesulitan. Selain itu, cara di mana Anda melakukan Otomasi (menggunakan MFC wrapper kelas atau #import) serupa dengan apa yang Anda sudah berada akrab dengan; oleh karena itu, ada tidak ada teknologi baru untuk belajar.



Membuat kelas pembungkus di MFC

Perubahan hanya nyata untuk pengembang yang terbiasa untuk bekerja dengan MFC adalah penghapusan ClassWizard untuk Visual Studio IDE. Perubahan ini efek bagaimana Anda membuat Anda MFC kelas pembungkus untuk kantor aplikasi jika Anda memulai sebuah proyek baru. Untuk informasi lebih lanjut tentang cara membuat serangkaian baru MFC wrapper kelas dari pustaka tipe dalam Visual C++ .NET, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
307473Cara menggunakan pustaka tipe untuk kantor otomatisasi dari Visual C++.NET
Kelas pembungkus dihasilkan bekerja sama seperti kelas mereka yang dibuat dengan Visual Studio 6.0. Anda dapat mengharapkan Visual Studio .NET untuk membuat file terpisah untuk setiap kelas yang diimpor. Ada juga beberapa masalah dengan generator kelas baru ketika Anda bekerja dengan tipe kantor perpustakaan. Untuk informasi lebih lanjut tentang isu-isu ini dan langkah-langkah untuk mengambil untuk menghindari mereka, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
311407BUG: MFC kelas Wizard tidak menyelesaikan konflik penamaan antara Windows api dan COM antarmuka metode
311408 BUG: 'Read-Only' peringatan ketika menambahkan kelas MFC dari pustaka tipe


Otomatisasi sampel menggunakan MFC

Untuk informasi tambahan tentang cara mengotomatisasi Office dari Visual Studio.NET di MFC, klik nomor artikel di bawah ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:

Microsoft Excel
308292 Cara mengotomatisasi excel untuk membuat dan format buku kerja baru dengan menggunakan C++.NET dan MFC
308407 Cara mengotomatisasi Excel dari C++.NET dan MFC mengisi atau memperoleh data dalam berbagai menggunakan array
309301 Bagaimana menangani peristiwa untuk Excel dengan menggunakan Visual C++.NET
Microsoft Word
308338 Cara mengotomatisasi Microsoft Word untuk mengoperasikan gabungan surat dari Visual C++.NET
309294 Cara menangani kata peristiwa dengan menggunakan Visual C++.NET dan MFC
Microsoft PowerPoint
308336 Cara menggunakan otomatisasi untuk membuat dan menampilkan presentasi PowerPoint dengan Visual C++.NET dan MFC
309309 Bagaimana menangani PowerPoint peristiwa dengan menggunakan Visual C++.NET dan MFC
Fitur kantor bersama
306686 Bagaimana menjalankan Office macro dengan menggunakan otomatisasi dari Visual C++.NET
312626 Cara menggunakan otomatisasi untuk membuat kantor komando bar dan kontrol dengan menggunakan Visual C++.NET
310744 Cara untuk mengabaikan kotak dialog yang ditampilkan oleh aplikasi Office menggunakan Visual C++.NET dan MFC

Otomatisasi menggunakan kode yang berhasil (Visual Basic atau Visual C#)

Otomatisasi kantor dari kode dikelola sedikit berbeda dari sebelumnya pemrograman Visual Basic. Ketika Anda mengotomatisasi dalam bahasa yang dikelola, Anda tidak langsung mengikat objek. Komunikasi Anda melewati Intermediate "pembungkus" yang menerjemahkan asli.tipe data bersih dan panggilan ke COM jenis dan panggilan (dan sebaliknya).



COM interoperabilitas di.NET

Layanan COM Interop common language runtime memungkinkan dikelola kode yang berjalan dalam.NET untuk berkomunikasi dengan server COM sebelumnya (seperti kantor) dengan menggunakan pembungkus antara kode dikelola dan COM server. Bungkusnya bernama Interop Majelis. Ketika Anda menambahkan referensi ke COM server (misalnya, perpustakaan jenis) di Anda.NET proyek, Visual Studio .NET menggunakan jenis informasi untuk menghasilkan kode untuk Runtime Callable Wrapper (RCW) yang kemudian diimpor ke proyek Anda. Kode ini dikelola dikompilasi ke Majelis terpisah (yaitu Interop Majelis), dan diakses oleh The.NET Framework seolah-olah itu lainnya.NET berhasil perpustakaan. RCW bertindak sebagai tengah-orang antara kode dikelola dan COM server.

Jika COM Server tertulis yang akan.NET-sadar, dapat memberikan Majelis Interop utama (PIA) yang terinstal, dan kemudian terdaftar dalam cache perakitan global. Majelis ini dibagi, dan dianggap sebagai cara terbaik untuk referensi sebelumnya COM server di.NET proyek. Saat ini, Microsoft menyediakan PIAs untuk Office XP (dan versi yang lebih baru) hanya. PIAs ini tersedia untuk di-download sekarang, dan tersebut dapat didistribusikan kembali dengan proyek Anda. Untuk informasi lebih lanjut tentang Office XP PIAs, klik nomor artikel berikut ini untuk melihat artikel di Microsoft Basis Pengetahuan:
328912INFO: Microsoft Office XP PIAs tersedia untuk di-download
Jika proyek Anda memanggil untuk otomatisasi kantor tahun 2000, Anda harus membuat Anda sendiri Interop Majelis (IAs) untuk kantor/MSO, VBA Diperpanjang, dan aplikasi Office yang ingin Anda otomatisasi. Ini kustom IAs harus diperlakukan sebagai bagian dari aplikasi Anda, dan digunakan untuk Anda Aplikasi folder dengan sisa proyek Anda. Meskipun Visual Studio.NET dapat secara otomatis membuat Majelis ini untuk Anda dengan menggunakan Tlbimp.exe utilitas, mereka Majelis kustom Anda, dan tidak dapat diregistrasikan di singgahan rakitan global sebagai objek global.

Untuk informasi tambahan tentang COM Interop di.NET, lihat COM Interop bagian dalam Microsoft Developer Network (MSDN) perpustakaan di situs Website MSDN berikut:
COM Interop dokumentasi maju (MSDN Online Library)
.aspx http://msdn2.Microsoft.com/en-us/library/bd9cdfyx (vs.71)


Mengikat aplikasi Office dari Anda runtime callable pembungkus (RCW)

Majelis Interop yang Anda buat dari pustaka tipe menggunakan ikatan untuk berkomunikasi dengan obyek COM. Namun, jika Anda harus menjaga rincian mengikat generik (misalnya, jika Anda memerlukan kode untuk otomatis lebih dari satu jenis aplikasi Office, tetapi tidak perlu tahu jenis yang secara eksplisit), Anda masih dapat melakukan ikatan dalam Visual Studio.NET. Untuk informasi lebih lanjut tentang mengikat pilihan.NET, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
304661Cara menggunakan Visual Basic.NET untuk mengikat untuk otomatisasi Office server
302902 CARA: Mengikat untuk otomatisasi Office layanan dengan Visual C#.NET
Keuntungan yang mengikat akhir-akhir ini adalah bahwa Anda tidak harus menggunakan RCW (atau membangun/kapal Majelis Interop kustom), dan lebih Versi agnostik. Kerugian adalah bahwa hal itu lebih sulit untuk melakukan hal ini Visual Basic.NET daripada di Visual Basic 6.0, dan akhir mengikat masih menderita kinerja memukul harus menemukan DISPIDs saat runtime.

Dalam tambahan untuk mengikat, isu penting lain adalah objek Instansiasi. Jika Anda menggunakan Interop Majelis, RCW untuk aplikasi Office tertentu kontrol objek Instansiasi ketika Anda menggunakan operator baru . Di belakang layar, RCW panggilan sesuai COM rutin (misalnya, CoCreateInstance) untuk membuat aplikasi contoh tersebut untuk kode Anda menggunakan yang baru. Jika Anda ingin mengendalikan objek Instansiasi atau mengikat yang sudah menjalankan aplikasi contoh, Anda dapat menggunakan GetObject dalam Visual Basic.NET, atau GetActiveObject dalam Visual C#. Namun, aplikasi Office hanya mendaftar sendiri dalam menjalankan objek tabel atak (MEMBUSUK) jika mereka memiliki memperoleh dan kehilangan fokus setidaknya satu kali. Jika Anda melakukan hal ini dalam kode, waktu dan fokus akan menjadi masalah besar untuk kode Anda untuk bekerja. Untuk informasi lebih informasi, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
316126Cara menggunakan Visual C#.NET untuk mengotomatisasi contoh menjalankan Office program
316125 Visual C#.NET kesalahan melampirkan untuk menjalankan aplikasi contoh Office
308409 Visual Basic.NET kesalahan menggunakan GetObject atau GetActiveObject untuk menjalankan aplikasi contoh Office


Menangani peristiwa dari RCW

The.NET Framework mendukung jenis aman, fungsi panggilan balik petunjuk untuk memohon pesan pemberitahuan kembali ke satu klien (seperti khas COM acara) atau untuk beberapa klien (seperti penyiaran asynchronous). The.NET objek yang menangani mekanisme Panggil balik ini disebut delegasi, dan bagi pengembang akrab dengan COM, mempertimbangkan delegasi sebagai cara untuk menangani peristiwa-peristiwa COM (meskipun mereka dapat digunakan untuk lain tujuan).

Ketika Anda membuat RCW dari pustaka tipe, setiap acara metode yang dijelaskan di perpustakaan dibungkus untuk membentuk delegasi kelas yang Anda dapat menggunakan untuk menangani acara. Tenggelam peristiwa, Anda menerapkan fungsi untuk menangani acara, membuat sebuah instance dari delegasi yang terikat yang fungsi, dan kemudian melampirkan delegasi ke objek yang Anda inginkan untuk menerima peristiwa-peristiwa dari. Berikut ini adalah contoh:
// in Visual C# where <Formatting Type="B">CellsChange</Formatting> is a function that you have implemented:
 EventDel_CellsChange = new Excel.DocEvents_ChangeEventHandler( CellsChange);
 xlSheet1.Change += EventDel_CellsChange;

' in Visual Basic .NET:
 EventDel_CellsChange = New Excel.DocEvents_ChangeEventHandler(AddressOf CellsChange)
 AddHandler xlSheet1.Change, EventDel_CellsChange
Visual Basic pengembang juga dapat manfaatkan dari WithEvents dan menangani kata bukti kunci untuk mempermudah proses ini dan untuk membuat kode lebih dibaca. Dengan menyatakan sebuah objek dengan menggunakan WithEvents, Anda dapat menambahkan menangani kata bukti kunci ke fungsi Panggil balik Anda, dan Visual Basic.NET mengikat delegasi untuk Anda secara otomatis. Berikut adalah contoh:
// in Visual Basic .NET:
 Private WithEvents xlSheet1 As Excel.Worksheet
 Private Sub xlSheet1_Change(ByVal Target As Excel.Range) Handles xlSheet1.Change
   Debug.WriteLine("You Changed Cells " + Target.Address + " on Sheet1")
 End Sub
Untuk informasi lebih informasi tentang penggunaan kedua pendekatan dalam Visual Basic.BERSIH, klik sejumlah artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
302814Bagaimana menangani peristiwa untuk Excel dengan menggunakan Visual Basic.NET
Jika RCW tidak memiliki delegasi untuk acara metode yang Anda inginkan, jika Anda harus menyediakan callback secara dinamis, atau jika Anda harus mengubah mereka didasarkan pada pertimbangan lain, Anda harus menggunakan antarmuka COM IConnectionPoint dan IConnectionPointContainer untuk mengatur wastafel Anda sendiri. Ini adalah lebih banyak pekerjaan, tetapi hal ini satu-satunya cara untuk diandalkan tenggelam peristiwa untuk beberapa server. Untuk informasi lebih lanjut, klik berikut nomor artikel untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
308330Bagaimana menangani PowerPoint acara dengan Visual Basic.NET


Sampel otomatisasi menggunakan kode dikelola (Visual Basic atau Visual C#)

Untuk informasi tambahan tentang bekerja di.BERSIH, klik nomor artikel di bawah ini untuk melihat artikel dalam Pengetahuan Microsoft Base:

Microsoft Excel
301982 Cara mengotomatisasi Microsoft Excel dari Visual Basic.NET
302084 Cara mengotomatisasi Microsoft Excel dari Microsoft Visual C#.NET
302814 Bagaimana menangani peristiwa untuk Excel dengan menggunakan Visual Basic.NET
302815 Bagaimana menangani peristiwa untuk Excel dengan menggunakan Visual C#.NET
302094 Cara mengotomatisasi Excel dari Visual Basic.NET untuk mengisi atau memperoleh data dalam kisaran yang menggunakan array
302096 Cara mengotomatisasi Excel dengan Visual C#.NET untuk mengisi atau memperoleh data dalam kisaran yang menggunakan array
306022 Bagaimana untuk mentransfer data ke buku kerja Excel dengan menggunakan Visual Basic.NET
306023 Bagaimana untuk mentransfer data ke buku kerja Excel dengan menggunakan Visual C#.NET
307021 Bagaimana untuk mentransfer XML data ke Microsoft Excel 2002 dengan menggunakan Visual Basic.NET
307029 Bagaimana untuk mentransfer XML data ke Microsoft Excel 2002 dengan menggunakan Visual C#.NET
Microsoft Word
316383 Cara mengotomatiskan Word dari Visual Basic.NET untuk membuat kumpulan dokumen baru
316384 Cara mengotomatiskan Word dari Visual C#.NET untuk membuat kumpulan dokumen baru
301656 Cara mengotomatisasi Microsoft Word untuk mengoperasikan gabungan surat dari Visual Basic.NET
301659 Cara mengotomatisasi Microsoft Word untuk melakukan gabungan surat dari Visual C#.NET
302816 Bagaimana menangani peristiwa untuk Microsoft Word menggunakan Microsoft Visual Basic.NET
302817 Bagaimana menangani peristiwa kata menggunakan Visual C#.NET
Microsoft PowerPoint
303717 Cara menggunakan otomatisasi untuk membuat dan menampilkan presentasi PowerPoint dengan Visual Basic.NET
303718 Cara menggunakan otomatisasi untuk membuat dan menampilkan presentasi PowerPoint dengan Visual C#.NET
308330 Bagaimana menangani PowerPoint peristiwa dengan Visual C#.NET
308825 Bagaimana menangani PowerPoint peristiwa dengan Visual C#.NET
Microsoft Access
317113 Cara mengotomatisasi Microsoft Access dari Visual Basic.NET
317114 Cara mengotomatisasi Microsoft Access dari Visual C#.NET
Microsoft Visio
305199 Cara mengotomatisasi Visio dengan Visual Basic.NET
Microsoft MapPoint
305200 Cara mengotomatisasi MapPoint dengan menggunakan Visual Basic.NET
302897 Cara mengotomatisasi MapPoint 2002 kontrol dan Simpan peta sebagai HTML dalam Visual Basic.NET
Fitur kantor bersama
303017 Cara menggunakan otomatisasi untuk membuat kantor komando bar dan kontrol dengan Visual Basic.NET
303018 Cara menggunakan otomatisasi untuk membuat kantor komando bar dan kontrol dengan Visual C#.NET
302281 Cara mendapatkan pegangan jendela untuk server Otomatisasi Office menggunakan Visual Basic.NET
302295 Cara mendapatkan pegangan jendela untuk server Otomatisasi Office menggunakan Visual C#.NET
306682 Bagaimana menjalankan Office macro menggunakan otomatisasi dari Visual Basic.NET
306683 Bagaimana menjalankan Office macro menggunakan otomatisasi dari Visual C#.NET
303294 Cara menggunakan otomatisasi untuk mendapatkan dan menetapkan properti kumpulan dokumen kantor dengan Visual Basic.NET
303296 Cara menggunakan otomatisasi untuk mendapatkan dan menetapkan kantor properti kumpulan dokumen dengan Visual C#.NET
307292 Cara untuk mengabaikan kotak dialog yang ditampilkan oleh aplikasi kantor dengan Visual Basic.NET


Masalah yang dikenal dengan otomatisasi dari kode dikelola

Karena common language runtime menggunakan sampah kolektor untuk manajemen kehabisan memori, dan karena Anda RCW itu sendiri yang dikelola objek, seumur hidup Anda objek Automasi tidak dijamin untuk mengakhiri di fashion deterministik segera setelah Anda melepaskan referensi Anda untuk itu. RCW adalah ditandai untuk pengumpulan sampah dan dilepaskan ketika garbage collector menginginkan untuk membebaskan lebih banyak kehabisan memori. Ini berarti bahwa meskipun Anda tidak lagi sedang mengotomatisasi Aplikasi Office, aplikasi dapat tetap dimuat karena sampah kolektor tidak memiliki belum dibebaskan RCW. Untuk informasi lebih lanjut, klik berikut nomor artikel untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
317109PRB: Aplikasi Office tidak berhenti setelah otomatisasi dari Visual Studio.NET klien
Untuk informasi lebih informasi tentang masalah-masalah yang mungkin Anda alami ketika Anda bekerja dengan benda-benda kantor dari kode dikelola, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
315981Visual Basic.NET [metode] ambigu di antarmuka warisan "pesan galat" ketika menggunakan otomatisasi Office
316653 PRB: Kesalahan menggunakan WithEvents atau delegasi untuk menangani peristiwa Excel dari Visual Basic.NET atau Visual C#.NET
320369 BUG: Format lama atau tidak sah jenis perpustakaan kesalahan saat mengotomatiskan Excel 2002
317157 PRB: Kesalahan ketika Anda referensi pustaka tipe akses 10,0 dengan Visual Studio.NET

Kantor solusi Web dengan ASP.NET

ASP.NET adalah platform pengembangan baru dalam Visual Studio.NET yang memungkinkan pengembang untuk membuat aplikasi perusahaan kelas. ASP.NET memungkinkan Anda untuk mengembangkan aplikasi web dengan apapun.NET-enabled bahasa dan untuk mengambil keuntungan dari fungsi kaya.NET Framework. ASP.Formulir NET Web memungkinkan Anda untuk membangun user interface untuk aplikasi web Anda. Meskipun Web bentuk menyediakan antarmuka pengguna untuk aplikasi web Anda, kode-belakang (kode yang berjalan untuk menghasilkan output untuk halaman Anda) untuk halaman masih ditayangkan komputer server. Microsoft tidak menganjurkan bahwa Anda mengotomatisasi Office produk dari formulir Web, atau bahwa Anda mengotomatisasi dari lain non interaktif account. Untuk informasi lebih lanjut, klik sejumlah artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
257757INFO: Pertimbangan untuk otomatisasi Office sisi server
Pendekatan lain untuk otomatisasi server-side termasuk sisi klien otomasi, streaming serbaguna Internet Mail Extension (MIME) konten, dan Komponen Web Office. Masing-masing metode ini dijelaskan dalam bagian berikut.

Menggunakan Office Web komponen ASP.NET

Kantor Web komponen (OWC) memberikan cara-cara terbaik untuk memasukkan Kantor fungsi dalam proyek Web Anda. Komponen dapat digunakan dalam ASP.NET sebagai sisi klien kontrol sebagai mereka akan dari setiap halaman HTML. Selain itu, OWC 10 (Office XP) menyediakan fungsionalitas yang masuk akal untuk membuat baik server-side komponen untuk ukuran terbatas situs web. Untuk informasi lebih lanjut tentang Bagaimana OWC 10 dapat digunakan di sisi server solusi dari ASP.BERSIH, klik sejumlah artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
303016Cara menggunakan dataset dengan Office XP bagan komponen dan ASP.NET
315695 Cara menggunakan komponen Office XP Web dengan data XML yang dihasilkan oleh Layanan Web XML yang dibuat menggunakan ASP.NET

Gunakan kumpulan dokumen Streaming dari ASP.NET

Jika Komponen Web Office tidak memiliki fungsi yang Anda perlu, Anda dapat mengkonfigurasi halaman HTML untuk memulai aplikasi Office komputer klien, dan kemudian untuk memuat data dari server Web. Pengguna dapat kemudian menggunakan kekuatan penuh dari kantor memodifikasi, mengedit, atau menyimpan data yang Anda kembali.

Anda dapat menggunakan beberapa metode untuk gulung balik Data untuk klien, termasuk Layanan Web XML dan isi MIME. Integrasi XML Web layanan adalah tambahan baru untuk Visual Studio.NET. Visual Studio.NET memungkinkan pengembang untuk dengan mudah membuat dan untuk mengkonsumsi Layanan Web XML. Layanan Web XML menyediakan layanan kepada pengguna melalui protokol Web standar. Pengguna dapat menggunakan Visual Studio.NET aplikasi, atau menggunakan Microsoft SABUN Toolkit untuk menyambung ke Layanan Web XML. Untuk informasi tambahan tentang Toolkit sabun, kunjungi situs web Microsoft Developer Network (MSDN) berikut:
http://MSDN.Microsoft.com/en-us/library/aa286526.aspx
Selain itu, Office XP Web layanan Toolkit yang memungkinkan pengembang untuk referensi Layanan Web XML langsung dari VBA tanpa menggunakan .NET Framework.

Metode lain untuk mengirim data ke komputer klien adalah streaming konten dengan menggunakan tipe MIME. Ketika Anda mengubah jenis MIME untuk Web Halaman untuk nilai tertentu, browser dimulai aplikasi yang terkait yang menampilkan data. Ketika Anda menggunakan metode ini, jenis data yang dapat membuka di aplikasi Office (seperti Rich Text Format (RTF), HTML, dan data biner) dapat dikirim kepada klien setelah Anda menetapkan tipe isi. Karena ASP.NET Web Kontrol menghasilkan HTML yang dikirim ke klien, tipe konten untuk Web Halaman dapat diatur untuk menampilkan isi kontrol di kantor aplikasi. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
318425Cara mengirim dan menerima kumpulan dokumen biner dengan menggunakan ASP.Layanan NET Web dan Visual C#.NET
318756 PRB: Excel dan Word konten tidak stream seperti yang diharapkan dari ASP.NET
311461 Cara menggunakan ASP.NET atau Visual Basic.NET untuk mengubah XML rich text format (RTF) untuk Microsoft Word 2002
319180 Bagaimana untuk mengubah dataset untuk spreadsheet XML untuk Excel dengan menggunakan Visual Basic.NET dan ASP.NET
317719 Cara untuk mengekspor data dalam datagrid di ASP.NET Webform ke Microsoft Excel
316934 Bagaimana menggunakan ADO.NET untuk mengambil dan memodifikasi catatan di buku kerja Excel dengan Visual Basic.NET
307033 Cara menggunakan Layanan Web XML dengan menggunakan ASP.BERSIH dari makro VBA kantor di Word atau Excel

Kantor diperpanjang menggunakan Visual Studio.NET

Membangun komponen extensible untuk menjalankan di dalam kantor telah selalu menjadi bagian penting dari pengembangan Office. Office 2000 dan Office XP memungkinkan untuk perluasan program aplikasi host dengan menggunakan COM ins. menambahkan Office XP memperkenalkan kemampuan untuk memperluas isi kumpulan dokumen melalui penggunaan dari SmartTag Recognizer atau komponen tindakan. Karena keduanya Solusi ini adalah sangat berakar dalam COM, mempertimbangkan keuntungan menggunakan komponen COM sepenuhnya dikompilasi sebelum Anda memutuskan untuk membangun satu di Visual Studio .NET.

Namun, jika desain Anda panggilan untuk menggunakan.NET fitur, atau dapat Jika tidak mendapatkan keuntungan dari menggunakan.NET, Anda dapat membuat kedua jenis tambahan di Visual Studio.NET. Pengembang yang akrab dengan bagaimana peralatan tambahan COM atau SmartTags bekerja di Visual Studio 6.0 harus diingat berikut:
  1. Tambahan harus terdaftar untuk COM. secara asali, berhasil Dll yang dibuat dalam Visual Basic atau Visual C# tidak bertindak sebagai COM komponen. Untuk mendaftarkan mereka, Anda harus mengatur nilai mendaftar untuk COM Interop ke True dalam pilihan membangun proyek properti.
  2. Untuk kantor untuk memuat komponen Anda dengan benar, sangat nama komponen Anda, kemudian register di Cache perakitan Global (GAC). Oleh default, yang khas.Proyek NET DLL tidak melakukan hal ini.
  3. Karena kode dikelola tidak asli, COM registri entri yang dibuat untuk titik komponen Anda.NET runtime mesin (mscoree.dll) dan bukan untuk perakitan Anda. Karena mscoree.dll tidak bertanda tangan digital dan Kantor menentukan apakah tambah pasang yang aman didasarkan tanda a gelung tangan digital, Anda pengguna akan diminta untuk mengaktifkan atau menonaktifkan Anda tambah pasang bahkan jika Anda secara digital menandatangani untuk perakitan Anda. Untuk rincian tambahan, lihatKantor keamanan dan kode terkendalinanti dalam artikel ini.
Ingat bahwa versi terbaru dari Office dirancang sekitar COM dan tidak dirancang di sekitar.NET. Jika kinerja adalah faktor bukti kunci untuk keberhasilan proyek Anda, pertimbangkan untuk menggunakan unmanaged bahasa (seperti MFC, ATL, atau Visual Basic 6.0).



Peralatan tambahan com.

Peralatan tambahan COM yang paling umum jenis diperpanjang solusi yang digunakan oleh pengembang. Untuk sepenuhnya mengintegrasikan tambahan dengan host aplikasi, pengembang harus mengotomatisasi Tambah-in dari aplikasi. Untuk alasan ini, sangat penting bahwa pengembang akrab dengan Otomatisasi kantor dari Visual Studio .NET bagian sebelumnya dalam artikel ini.

Untuk informasi lebih lanjut tentang bagaimana memberikan dasar untuk membuat sebuah COM tambah pasang Visual Studio.NET, klik nomor artikel di bawah ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
302896Bagaimana membangun kantor COM tambah pasang dengan menggunakan Visual Basic.NET
302901 Bagaimana membangun kantor COM dengan menggunakan Visual C#.NET
316723 PRB: Visual Studio.NET bersama tambah pasang tidak ditampilkan dalam kotak dialog tambah pasang Office COM

Smart Tag

Smart Tag adalah teknologi baru yang diperkenalkan dengan kantor XP. Smart Tag menawarkan jenis baru interaksi dengan kumpulan dokumen Anda. Saat ini, Smart Tag hanya bekerja dengan Microsoft Word 2002 dan Microsoft Excel 2002. Untuk informasi tambahan tentang Smart tag, melihat Tag Smart pengembangan peranti penangkap lunak Kit (SDK) pada situs web Microsoft Developer Network (MSDN) berikut:
Microsoft Smart Tag SDK
Untuk informasi lebih lanjut tentang bagaimana untuk mengembangkan SmartTag tambah pasang menggunakan Visual Studio.NET, klik berikut nomor artikel untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
306058Cara membuat tag pintar Office XP DLL dengan menggunakan Visual Basic.NET
306422 Cara membuat tag pintar Office XP DLL dengan menggunakan Visual C#.NET

Kantor keamanan dan kode terkendali

Karena dikelola kode ini tidak asli, entri registri COM dibuat untuk komponen kantor yang Anda membangun dengan.Titik bersih.NET runtime mesin (mscoree.dll) dan tidak Anda Majelis. Karena mscoree.dll tidak digital ditandatangani dan kantor menentukan apakah tambah pasang yang aman berdasarkan tanda tangan digital, pengguna Anda mungkin menerima kotak dialog peringatan makro kotak yang mendorong mereka untuk mengaktifkan atau menonaktifkan Anda tambah pasang, bahkan jika Anda bertanda tangan digital untuk Majelis.
316724 PRB: "Mscoree.dll berisi makro" prompt ketika mulai aplikasi Office
Untuk menghindari peringatan makro ini, Anda dapat menggunakan "shim" untuk komponen. Untuk informasi tambahan tentang mengembangkan dan menggunakan Shim solusi, lihat artikel berikut di Pusat Pengembang SharePoint (MSDN) Situs web:
Penyebaran dari dikelola tambahan COM pada Office XP
.aspx http://msdn2.Microsoft.com/en-us/library/aa164016 (office.10)

Menggunakan Tag Shim solusi cerdas untuk menyebarkan berhasil Tag cerdas dalam Office XP
.aspx http://msdn2.Microsoft.com/en-us/library/aa163615 (office.10)

Menggunakan COM tambah pasang Shim solusi untuk menyebarkan dikelola tambahan COM pada Office XP
.aspx http://msdn2.Microsoft.com/en-us/library/aa140200 (office.10)

OLE kumpulan dokumen dan penyimpanan

Visual Studio.NET tidak menyediakan fungsionalitas baru untuk mengedit atau melihat kumpulan dokumen Office di dalam aplikasi Windows. Dalam kenyataannya, untuk beberapa pengembang yang akrab dengan Visual Basic, ini mungkin tampak seperti langkah kembali karena Anda tidak lagi memiliki akrab OLE Container kontrol. Untuk informasi lebih lanjut, klik nomor artikel berikut untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
304562INFO: Visual Studio.NET tidak menyediakan OLE container kontrol untuk menang bentuk
Namun, ada alasan untuk ini. OLE adalah COM-based, dan.NET adalah tidak. Untuk menghayati desain cross-platform untuk Common language runtime OLE solusi tidak erat terikat untuk kerangka kerja. Jika solusi Anda memerlukan kemampuan OLE, Anda dapat menggunakan Kontrol browser web atau custom-built OLE kumpulan dokumen viewer. Untuk informasi lebih informasi, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
304643Bagaimana menggunakan kontrol browser web untuk membuka kumpulan dokumen Office dalam Visual Basic.NET
304662 Cara menggunakan kontrol browser web untuk membuka kumpulan dokumen Office dengan Visual C#.NET
Untuk informasi lebih lanjut tentang cara menggunakan fitur OLE yang ada di unmanaged MFC atau ATL proyek untuk membangun Anda solusi, klik nomor artikel berikut ini untuk melihat artikel Pangkalan Pengetahuan Microsoft:
316587Cara mengotomatisasi tertanam kantor ActiveX kumpulan dokumen dengan C++.NET
316207 Cara untuk menanamkan dan mengotomatisasi kumpulan dokumen Word dengan menggunakan C++.NET dan MFC

Properti

ID Artikel: 311452 - Kajian Terakhir: 14 Mei 2012 - Revisi: 3.0
Berlaku bagi:
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Visual J# .NET 2003 Standard Edition
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Kata kunci: 
kbhowtomaster kbinfo kbmt KB311452 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:311452

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