Bagikan melalui


Menulis kode di solusi Office

Ada beberapa aspek penulisan kode dalam proyek Office yang berbeda dari jenis proyek lain di Visual Studio. Banyak dari perbedaan ini terkait dengan cara model objek Office diekspos ke kode terkelola. Perbedaan lain terkait dengan desain proyek Office.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen dan proyek Add-in VSTO. Lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Kode terkelola dan pemrograman Office

Teknologi utama yang memungkinkan pembuatan solusi Microsoft Office terintegrasi adalah Automation, yang merupakan bagian dari teknologi Model Objek Komponen (COM). Automation memungkinkan Anda menggunakan kode untuk membuat dan mengontrol objek perangkat lunak yang diekspos oleh aplikasi, DLL, atau kontrol ActiveX apa pun yang mendukung antarmuka terprogram yang sesuai.

Memahami rakitan interop utama

Microsoft aplikasi Office lications mengekspos banyak fungsionalitasnya ke Automation. Namun, Anda tidak dapat menggunakan kode terkelola (seperti Visual Basic atau C#) secara langsung untuk mengotomatiskan aplikasi Office likasi. Untuk mengotomatiskan aplikasi Office likasi dengan menggunakan kode terkelola, Anda harus menggunakan rakitan interop utama Office (PIA). Rakitan interop utama memungkinkan kode terkelola untuk berinteraksi dengan model objek berbasis COM dari aplikasi Office likasi.

Setiap microsoft aplikasi Office likasi memiliki PIA. Saat Anda membuat proyek Office di Visual Studio, referensi ke PIA yang sesuai secara otomatis ditambahkan ke proyek. Untuk mengotomatiskan fitur aplikasi Office likasi lain dari proyek, Anda harus menambahkan referensi ke PIA yang sesuai secara manual. Untuk informasi selengkapnya, lihat Cara: Target aplikasi Office likasi melalui rakitan interop utama.

Menggunakan rakitan interop utama pada waktu desain dan runtime

Anda harus menginstal PIA Office dan terdaftar di singgahan perakitan global di komputer pengembangan Anda untuk melakukan sebagian besar tugas pengembangan. Untuk informasi selengkapnya, lihat Mengonfigurasi komputer untuk mengembangkan solusi Office.

PIA Office tidak diperlukan di komputer pengguna akhir untuk menjalankan solusi Office yang menargetkan .NET Framework 4 atau yang lebih baru. Untuk informasi selengkapnya, lihat Mendesain dan membuat solusi Office.

Gunakan jenis dalam rakitan interop utama

PIA Office berisi kombinasi jenis yang mengekspos model objek aplikasi Office likasi dan jenis infrastruktur tambahan yang tidak dimaksudkan untuk digunakan langsung dalam kode Anda. Untuk gambaran umum jenis di PIA Office, lihat Gambaran umum kelas dan antarmuka di rakitan interop utama Office.

Karena jenis di PIA Office sesuai dengan jenis dalam model objek berbasis COM, cara Anda menggunakan jenis ini sering berbeda dari jenis terkelola lainnya. Misalnya, cara Anda memanggil metode yang memiliki parameter opsional dalam perakitan interop utama Office bergantung pada bahasa pemrograman yang Anda gunakan dalam proyek Anda. Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Model program proyek Office

Semua proyek Office menyertakan satu atau beberapa kelas yang dihasilkan yang menyediakan titik masuk untuk kode Anda. Kelas-kelas ini juga menyediakan akses ke model objek aplikasi host dan akses ke fitur seperti panel tindakan dan panel tugas kustom.

Memahami kelas yang dihasilkan

Dalam proyek tingkat dokumen untuk Excel dan Word, kelas yang dihasilkan menyerupan objek tingkat atas dalam model objek aplikasi. Misalnya, kelas yang dihasilkan ThisDocument dalam proyek dokumen Word menyediakan anggota yang sama dengan Document kelas dalam model objek Word. Untuk informasi selengkapnya tentang kelas yang dihasilkan dalam proyek tingkat dokumen, lihat Kustomisasi tingkat dokumen program.

Proyek Add-in VSTO menyediakan kelas yang dihasilkan yang disebut ThisAddIn. Kelas ini tidak menyerupai kelas dalam model objek aplikasi host. Sebaliknya, kelas ini mewakili Add-in VSTO itu sendiri, dan menyediakan anggota yang dapat Anda gunakan untuk mengakses model objek aplikasi host dan mengakses fitur lain yang tersedia untuk Add-in VSTO. Untuk informasi selengkapnya, lihat Add-in VsTO Program.

Semua kelas yang dihasilkan dalam proyek Office termasuk Startup dan Shutdown penanganan aktivitas. Untuk mulai menulis kode, Anda biasanya menambahkan kode ke penanganan aktivitas ini. Untuk menginisialisasi Add-in VSTO, Anda dapat menambahkan kode ke penanganan Startup aktivitas. Untuk membersihkan sumber daya yang digunakan oleh Add-in VSTO, Anda dapat menambahkan kode ke penanganan Shutdown aktivitas. Untuk informasi selengkapnya, lihat Peristiwa di proyek Office.

Mengakses kelas yang dihasilkan pada waktu proses

Saat solusi Office dimuat, runtime Visual Studio Tools for Office membuat instans setiap kelas yang dihasilkan dalam proyek Anda. Anda dapat mengakses objek ini dari kode apa pun dalam proyek Anda dengan menggunakan Globals kelas . Misalnya, Anda dapat menggunakan Globals kelas untuk memanggil kode di ThisAddIn kelas dari penanganan aktivitas tombol Pita di Add-in VSTO.

Untuk informasi selengkapnya, lihat Akses global ke objek di proyek Office.

Pertimbangan namespace layanan di solusi Office

Anda tidak dapat mengubah namespace default (atau namespace layanan akar di Visual Basic) proyek Office setelah Anda membuat proyek. Namespace default akan selalu cocok dengan nama proyek yang Anda tentukan saat membuat proyek. Jika Anda mengganti nama proyek, namespace default tidak berubah. Untuk informasi selengkapnya tentang namespace default dalam proyek, lihat Halaman Aplikasi, Perancang Proyek (C#) dan Halaman Aplikasi, Perancang Proyek (Visual Basic).

Mengubah namespace kelas item host dalam proyek C#

Kelas item host (misalnya, ThisAddInkelas , , ThisWorkbookatau ThisDocument ) memiliki namespace layanan mereka sendiri di proyek Visual C# Office. Secara default, namespace untuk item host di proyek Anda cocok dengan nama proyek yang Anda tentukan saat membuat proyek.

Untuk mengubah namespace item host dalam proyek Visual C# Office, gunakan properti Namespace untuk Item Host. Untuk informasi selengkapnya, lihat Properti di proyek Office.

Bahasa pemrograman yang didukung dalam proyek Office

Templat proyek Office di Visual Studio hanya mendukung bahasa pemrograman Visual Basic dan Visual C#. Oleh karena itu, templat proyek ini hanya tersedia di bawah simpul Visual Basic dan Visual C# dari kotak dialog Proyek Baru di Visual Studio. Untuk informasi selengkapnya, lihat Cara: Membuat proyek Office di Visual Studio.

Pilihan bahasa dan pemrograman Office

Microsoft Office dan Visual Basic for Applications (VBA) dikembangkan untuk bekerja sama guna mengoptimalkan alur kerja kustomisasi aplikasi. Visual Basic telah mewarisi beberapa pengembangan tersebut. Misalnya, Visual Basic mendukung parameter opsional, yang berarti Anda dapat menulis lebih sedikit kode saat memanggil beberapa metode di rakitan interop utama Microsoft Office daripada saat Anda menggunakan Visual C#.

Program dengan Visual Basic vs. Visual C# di solusi Office

Anda dapat membuat solusi Office dengan menggunakan Visual Basic atau Visual C#. Karena model objek Microsoft Office dirancang untuk digunakan dengan Microsoft Visual Basic for Applications (VBA), pengembang Visual Basic dapat bekerja dengan nyaman dengan objek yang diekspos oleh Microsoft aplikasi Office lications. Pengembang Visual C# dapat menggunakan sebagian besar fitur yang sama dengan pengembang Visual Basic, tetapi ada beberapa kasus di mana mereka harus menulis kode tambahan untuk menggunakan model objek Office. Ada juga beberapa perbedaan antara fitur pemrograman dasar dalam pengembangan Office dan kode terkelola yang ditulis dalam Visual Basic dan C#.

Perbedaan utama antara Visual Basic dan Visual C#

Tabel berikut ini memperlihatkan perbedaan utama antara Visual Basic dan Visual C# dalam pengembangan Office.

Fitur Deskripsi Dukungan Visual Basic Dukungan Visual C#
Parameter opsional Banyak metode Microsoft Office memiliki parameter yang tidak diperlukan saat Anda memanggil metode . Jika tidak ada nilai yang diteruskan untuk parameter, nilai default akan digunakan. Visual Basic mendukung parameter opsional. Visual C# mendukung parameter opsional dalam banyak kasus. Untuk informasi selengkapnya, lihat Parameter opsional di solusi Office.
Meneruskan parameter berdasarkan referensi Parameter opsional di sebagian besar rakitan interop utama Microsoft Office dapat diteruskan oleh nilai. Namun, dalam beberapa rakitan interop utama, parameter opsional yang menerima jenis referensi harus diteruskan oleh referensi.

Untuk informasi selengkapnya tentang parameter jenis nilai dan referensi, lihat Meneruskan argumen menurut nilai dan berdasarkan referensi (Visual Basic) (untuk parameter Visual Basic) dan Pass (panduan pemrograman C#).
Tidak ada pekerjaan tambahan yang diperlukan untuk meneruskan parameter berdasarkan referensi. Pengkompilasi Visual Basic secara otomatis meneruskan parameter berdasarkan referensi jika diperlukan. Dalam kebanyakan kasus, pengkompilasi Visual C# secara otomatis meneruskan parameter berdasarkan referensi jika perlu. Untuk informasi selengkapnya, lihat Parameter opsional di solusi Office.
Properti berparameter Beberapa properti menerima parameter, dan bertindak sebagai fungsi baca-saja. Visual Basic mendukung properti yang menerima parameter. Visual C# mendukung properti yang menerima parameter.
Pengikatan akhir Pengikatan terlambat melibatkan penentuan properti objek pada waktu proses, alih-alih mentransmisikan variabel ke jenis objek pada waktu desain. Visual Basic melakukan pengikatan terlambat saat Opsi Ketat nonaktif. Saat Opsi Ketat aktif, Anda harus secara eksplisit mengonversi objek dan menggunakan jenis di System.Reflection namespace layanan untuk mengakses anggota yang terlambat terikat. Untuk informasi selengkapnya, lihat Pengikatan terlambat di solusi Office. Visual C# melakukan pengikatan terlambat dalam proyek yang menargetkan .NET Framework 4. Untuk informasi selengkapnya, lihat Pengikatan terlambat di solusi Office.

Perbedaan utama antara pengembangan Office dan kode terkelola

Tabel berikut ini memperlihatkan perbedaan utama antara pengembangan Office dan kode terkelola yang ditulis dalam Visual Basic atau Visual C#.

Fitur Deskripsi Dukungan Visual Basic dan Visual C#
Indeks array Batas array koleksi yang lebih rendah di Microsoft aplikasi Office lications dimulai dengan 1. Visual Basic dan Visual C# menggunakan array berbasis 0. Untuk informasi selengkapnya, lihat Array (panduan pemrograman C#) dan Array di Visual Basic. Untuk mengakses item pertama koleksi dalam model objek Microsoft aplikasi Office lication, gunakan indeks 1, bukan 0.