Bagikan melalui


Cara menggunakan argumen bernama dan opsional dalam pemrograman Office

Argumen bernama dan argumen opsional meningkatkan kenyamanan, fleksibilitas, dan keterbacaan dalam pemrograman C#. Selain itu, fitur ini sangat memudahkan akses ke antarmuka COM seperti API otomatisasi Microsoft Office.

Penting

VSTO (Visual Studio Tools for Office) bergantung pada .NET Framework. Add-in COM juga dapat ditulis dengan .NET Framework. Add-in Office tidak dapat dibuat dengan .NET Core dan .NET 5+, versi terbaru .NET. Ini karena .NET Core/.NET 5+ tidak dapat bekerja sama dengan .NET Framework dalam proses yang sama dan dapat menyebabkan kegagalan beban add-in. Anda dapat terus menggunakan .NET Framework untuk menulis add-in VSTO dan COM untuk Office. Microsoft tidak akan memperbarui vsto atau platform add-in COM untuk menggunakan .NET Core atau .NET 5+. Anda dapat memanfaatkan .NET Core dan .NET 5+, termasuk ASP.NET Core, untuk membuat sisi server Add-in Web Office.

Dalam contoh berikut, metode ConvertToTable memiliki 16 parameter yang mewakili karakteristik tabel, seperti jumlah kolom dan baris, pemformatan, batas, font, dan warna. Ke-16 parameter bersifat opsional, karena sebagian besar waktu Anda tidak ingin menentukan nilai tertentu untuk semuanya. Namun, tanpa argumen bernama dan opsional, Anda harus memberikan nilai atau nilai tempat penampung. Dengan argumen bernama dan opsional, Anda menentukan nilai hanya untuk parameter yang diperlukan untuk proyek Anda.

Anda harus menginstal Microsoft Office Word di komputer untuk menyelesaikan prosedur ini.

Catatan

Komputer Anda mungkin memperlihatkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam petunjuk berikut. Edisi Visual Studio yang Anda miliki dan setelan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Membuat aplikasi konsol baru

Mulai Visual Studio. Pada menu File, arahkan ke Baru, lalu pilih Proyek. Di panel Kategori Templat, perluas C#, lalu pilih Windows. Lihat di bagian atas panel Template untuk memastikan bahwa .NET Framework 4 muncul di kotak Target Framework. Di panel Templat, pilih Aplikasi Konsol. Ketik nama untuk proyek Anda di bidang Nama. Pilih OK. Proyek baru muncul di Penjelajah Solusi.

Menambahkan referensi

Di Penjelajah Solusi, klik kanan nama proyek Anda lalu pilih Tambahkan Referensi. Kotak dialog Tambahkan Referensi muncul. Pada halaman .NET, pilih Microsoft.Office.Interop.Word dalam daftar Nama Komponen. Pilih OK.

Menambahkan yang diperlukan menggunakan direktif

Di Penjelajah Solusi, klik kanan file Program.cs lalu pilih Tampilkan Kode. Tambahkan arahan using berikut ke bagian atas file kode:

using Word = Microsoft.Office.Interop.Word;

Menampilkan teks dalam dokumen Word

Di kelas Program di Program.cs, tambahkan metode berikut untuk membuat aplikasi Word dan dokumen Word. Metode Tambahkan memiliki empat parameter opsional. Contoh ini menggunakan nilai default parameter. Oleh karena itu, tidak ada argumen yang diperlukan dalam pernyataan panggilan.

static void DisplayInWord()
{
    var wordApp = new Word.Application();
    wordApp.Visible = true;
    // docs is a collection of all the Document objects currently
    // open in Word.
    Word.Documents docs = wordApp.Documents;

    // Add a document to the collection and name it doc.
    Word.Document doc = docs.Add();
}

Tambahkan kode berikut di akhir metode untuk menentukan tempat menampilkan teks dalam dokumen, dan teks apa yang akan ditampilkan:

// Define a range, a contiguous area in the document, by specifying
// a starting and ending character position. Currently, the document
// is empty.
Word.Range range = doc.Range(0, 0);

// Use the InsertAfter method to insert a string at the end of the
// current range.
range.InsertAfter("Testing, testing, testing. . .");

Jalankan aplikasi

Tambahkan pernyataan berikut ke Utama:

DisplayInWord();

Tekan CTRL+F5 untuk menjalankan proyek. Dokumen Word muncul yang berisi teks yang ditentukan.

Mengubah teks menjadi tabel

Gunakan metode ConvertToTable untuk menyertakan teks dalam tabel. Metode ini memiliki 16 parameter opsional. IntelliSense menyertakan parameter opsional dalam tanda kurung, seperti yang ditunjukkan dalam ilustrasi berikut. Nilai default Type.Missing adalah nama sederhana untuk System.Type.Missing.

Daftar parameter untuk metode ConvertToTable

Argumen bernama dan opsional memungkinkan Anda menentukan nilai hanya untuk parameter yang ingin Anda ubah. Tambahkan kode berikut ke akhir metode DisplayInWord untuk membuat tabel. Argumen menetapkan bahwa koma dalam string teks di range memisahkan sel tabel.

// Convert to a simple table. The table will have a single row with
// three columns.
range.ConvertToTable(Separator: ",");

Tekan CTRL+F5 untuk menjalankan proyek.

Bereksperimen dengan parameter lain

Ubah tabel sehingga memiliki satu kolom dan tiga baris, ganti baris terakhir dengan DisplayInWord pernyataan berikut lalu ketik CTRL+F5.

range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1);

Tentukan format yang telah ditentukan sebelumnya untuk tabel, ganti baris terakhir dengan DisplayInWord pernyataan berikut lalu ketik CTRL+F5. Formatnya dapat berupa konstanta WdTableFormat.

range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1,
    Format: Word.WdTableFormat.wdTableFormatElegant);

Contoh

Kode berikut menyertakan contoh lengkapnya:

using System;
using Word = Microsoft.Office.Interop.Word;

namespace OfficeHowTo
{
    class WordProgram
    {
        static void Main(string[] args)
        {
            DisplayInWord();
        }

        static void DisplayInWord()
        {
            var wordApp = new Word.Application();
            wordApp.Visible = true;
            // docs is a collection of all the Document objects currently
            // open in Word.
            Word.Documents docs = wordApp.Documents;

            // Add a document to the collection and name it doc.
            Word.Document doc = docs.Add();

            // Define a range, a contiguous area in the document, by specifying
            // a starting and ending character position. Currently, the document
            // is empty.
            Word.Range range = doc.Range(0, 0);

            // Use the InsertAfter method to insert a string at the end of the
            // current range.
            range.InsertAfter("Testing, testing, testing. . .");

            // You can comment out any or all of the following statements to
            // see the effect of each one in the Word document.

            // Next, use the ConvertToTable method to put the text into a table.
            // The method has 16 optional parameters. You only have to specify
            // values for those you want to change.

            // Convert to a simple table. The table will have a single row with
            // three columns.
            range.ConvertToTable(Separator: ",");

            // Change to a single column with three rows..
            range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1);

            // Format the table.
            range.ConvertToTable(Separator: ",", AutoFit: true, NumColumns: 1,
                Format: Word.WdTableFormat.wdTableFormatElegant);
        }
    }
}