Bagikan melalui


Menambahkan kontrol Konten ke dokumen Word

Dalam proyek Word tingkat dokumen, Anda bisa menambahkan kontrol konten ke dokumen di proyek Anda pada waktu desain atau pada waktu proses. Di proyek Add-in Word VSTO, Anda bisa menambahkan kontrol konten ke dokumen yang terbuka pada waktu proses.

Berlaku untuk: Informasi dalam topik ini berlaku untuk proyek tingkat dokumen dan proyek Add-in VSTO untuk Word. Untuk informasi selengkapnya, lihat Fitur yang tersedia berdasarkan aplikasi Office likasi dan jenis proyek.

Topik ini menjelaskan tugas-tugas berikut:

Menambahkan kontrol Konten pada waktu desain

Ada beberapa cara untuk menambahkan kontrol konten ke dokumen dalam proyek tingkat dokumen pada waktu desain:

  • Tambahkan kontrol konten dari tab Kontrol Word di Kotak Alat.

  • Tambahkan kontrol konten ke dokumen Anda dengan cara yang sama seperti Anda akan menambahkan kontrol konten asli di Word.

  • Seret kontrol konten ke dokumen Anda dari jendela Sumber Data. Ini berguna ketika Anda ingin mengikat kontrol ke data saat kontrol dibuat. Untuk informasi selengkapnya, lihat Cara: Mengisi dokumen dengan data dari objek dan Cara: Mengisi dokumen dengan data dari database.

    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.

Untuk menambahkan kontrol konten ke dokumen dengan menggunakan Kotak Alat

  1. Dalam dokumen yang dihosting di perancang Visual Studio, letakkan kursor tempat Anda ingin menambahkan kontrol konten, atau pilih teks yang Anda inginkan untuk diganti oleh kontrol konten.

  2. Buka Kotak Alat dan klik tab Kontrol Word.

  3. Tambahkan kontrol salah satu cara berikut:

    • Klik dua kali kontrol konten di Kotak Alat.

      or

    • Klik kontrol konten di Kotak Alat lalu tekan tombol Enter.

      or

    • Seret kontrol konten dari Kotak Alat ke dokumen. Kontrol isi ditambahkan pada pilihan saat ini dalam dokumen, bukan di lokasi penunjuk mouse.

Catatan

Anda tidak dapat menambahkan GroupContentControl dengan menggunakan Kotak Alat. Anda hanya bisa menambahkan GroupContentControl di Word, atau pada waktu proses.

Catatan

Visual Studio tidak menyediakan kontrol konten kotak centang di Kotak Alat. Untuk menambahkan kontrol konten kotak centang ke dokumen, Anda harus membuat ContentControl objek secara terprogram. Untuk informasi selengkapnya, lihat Kontrol konten.

Untuk menambahkan kontrol konten ke dokumen di Word

  1. Dalam dokumen yang dihosting di perancang Visual Studio, letakkan kursor tempat Anda ingin menambahkan kontrol konten, atau pilih teks yang Anda inginkan untuk diganti oleh kontrol konten.

  2. Pada Pita, klik tab Pengembang .

    Catatan

    Jika tab Pengembang tidak terlihat, Anda harus terlebih dahulu memperlihatkannya. Untuk informasi selengkapnya, lihat Cara: Memperlihatkan tab Pengembang pada Pita.

  3. Di grup Kontrol, klik ikon untuk kontrol konten yang ingin Anda tambahkan.

Menambahkan kontrol konten pada run time dalam proyek tingkat dokumen

Anda dapat menambahkan kontrol konten secara terprogram ke dokumen Anda pada run time dengan menggunakan metode Controls properti ThisDocument kelas di proyek Anda. Setiap metode memiliki tiga kelebihan beban yang dapat Anda gunakan untuk menambahkan kontrol konten dengan cara berikut:

  • Tambahkan kontrol pada pilihan saat ini.

  • Tambahkan kontrol pada rentang tertentu.

  • Tambahkan kontrol yang didasarkan pada kontrol konten asli dalam dokumen.

    Kontrol konten yang dibuat secara dinamis tidak bertahan dalam dokumen saat dokumen ditutup. Namun, kontrol konten asli tetap berada dalam dokumen. Anda dapat membuat ulang kontrol konten yang didasarkan pada kontrol konten asli saat berikutnya dokumen dibuka. Untuk informasi selengkapnya, lihat Menambahkan kontrol ke dokumen Office pada waktu proses.

Catatan

Untuk menambahkan kontrol konten kotak centang ke dokumen dalam proyek Word 2010, Anda harus membuat ContentControl objek. Untuk informasi selengkapnya, lihat Kontrol konten.

Untuk menambahkan kontrol isi pada pilihan saat ini

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki parameter tunggal untuk nama kontrol baru.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk menambahkan yang baru RichTextContentControl ke awal dokumen. Untuk menjalankan kode ini, tambahkan kode ke ThisDocument kelas di proyek Anda, dan panggil AddRichTextControlAtSelection metode dari penanganan ThisDocument_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
        this.Paragraphs[1].Range.Select();
    
        richTextControl1 = this.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

Untuk menambahkan kontrol konten pada rentang tertentu

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki Range parameter.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk menambahkan yang baru RichTextContentControl ke awal dokumen. Untuk menjalankan kode ini, tambahkan kode ke ThisDocument kelas di proyek Anda, dan panggil AddRichTextControlAtRange metode dari penanganan ThisDocument_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
    
        richTextControl2 = this.Controls.AddRichTextContentControl(this.Paragraphs[1].Range,
            "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

Untuk menambahkan kontrol konten yang didasarkan pada kontrol konten asli

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki Microsoft.Office.Interop.Word.ContentControl parameter.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk membuat baru RichTextContentControl untuk setiap kontrol teks kaya asli yang ada dalam dokumen. Untuk menjalankan kode ini, tambahkan kode ke ThisDocument kelas di proyek Anda, dan panggil CreateRichTextControlsFromNativeControls metode dari penanganan ThisDocument_Startup aktivitas.

    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void CreateRichTextControlsFromNativeControls()
    {
        if (this.ContentControls.Count <= 0)
            return;
    
        richTextControls = new System.Collections.Generic.List
            <Microsoft.Office.Tools.Word.RichTextContentControl>();
        int count = 0;
    
        foreach (Word.ContentControl nativeControl in this.ContentControls)
        {
            if (nativeControl.Type ==
                Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
            {
                count++;
                Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                    this.Controls.AddRichTextContentControl(nativeControl,
                    "VSTORichTextControl" + count.ToString());
                richTextControls.Add(tempControl);
            }
        }
    }
    

Menambahkan kontrol konten saat run time dalam proyek Add-in VSTO

Anda dapat menambahkan kontrol konten secara terprogram ke dokumen terbuka apa pun pada waktu proses dengan menggunakan Add-in VSTO. Untuk melakukan ini, buat Document item host yang didasarkan pada dokumen terbuka, lalu gunakan metode Controls properti item host ini. Setiap metode memiliki tiga kelebihan beban yang dapat Anda gunakan untuk menambahkan kontrol konten dengan cara berikut:

  • Tambahkan kontrol pada pilihan saat ini.

  • Tambahkan kontrol pada rentang tertentu.

  • Tambahkan kontrol yang didasarkan pada kontrol konten asli dalam dokumen.

    Kontrol konten yang dibuat secara dinamis tidak bertahan dalam dokumen saat dokumen ditutup. Namun, kontrol konten asli tetap berada dalam dokumen. Anda dapat membuat ulang kontrol konten yang didasarkan pada kontrol konten asli saat berikutnya dokumen dibuka. Untuk informasi selengkapnya, lihat Mempertahankan kontrol dinamis di dokumen Office.

    Untuk informasi selengkapnya tentang membuat item host di proyek Add-in VSTO, lihat Memperluas dokumen Word dan buku kerja Excel di Add-in VSTO pada waktu proses.

Catatan

Untuk menambahkan kontrol konten kotak centang ke dokumen, Anda harus membuat ContentControl objek. Untuk informasi selengkapnya, lihat Kontrol konten.

Untuk menambahkan kontrol isi pada pilihan saat ini

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki parameter tunggal untuk nama kontrol baru.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk menambahkan yang baru RichTextContentControl ke awal dokumen aktif. Untuk menjalankan kode ini, tambahkan kode ke ThisAddIn kelas di proyek Anda, dan panggil AddRichTextControlAtSelection metode dari penanganan ThisAddIn_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
        currentDocument.Paragraphs[1].Range.Select();
    
        Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

Untuk menambahkan kontrol konten pada rentang tertentu

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki Range parameter.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk menambahkan yang baru RichTextContentControl ke awal dokumen aktif. Untuk menjalankan kode ini, tambahkan kode ke ThisAddIn kelas di proyek Anda, dan panggil AddRichTextControlAtRange metode dari penanganan ThisAddIn_Startup aktivitas.

    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
    
        Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl(
            currentDocument.Paragraphs[1].Range, "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

Untuk menambahkan kontrol konten yang didasarkan pada kontrol konten asli

  1. ControlCollection Gunakan metode yang memiliki kelas> kontrol nama Add<(di mana kelas kontrol adalah nama kelas kontrol konten yang ingin Anda tambahkan, seperti AddRichTextContentControl), dan yang memiliki Microsoft.Office.Interop.Word.ContentControl parameter.

    Contoh kode berikut menggunakan AddRichTextContentControl metode untuk membuat baru RichTextContentControl untuk setiap kontrol teks kaya asli yang ada dalam dokumen, setelah dokumen dibuka. Untuk menjalankan kode ini, tambahkan kode ke ThisAddIn kelas di proyek Anda.

    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc)
    {
        if (Doc.ContentControls.Count > 0)
        {
            Document extendedDocument = Globals.Factory.GetVstoObject(Doc);
    
            richTextControls = new System.Collections.Generic.List
                <Microsoft.Office.Tools.Word.RichTextContentControl>();
            int count = 0;
    
            foreach (Word.ContentControl nativeControl in Doc.ContentControls)
            {
                if (nativeControl.Type ==
                    Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
                {
                    count++;
                    Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                        extendedDocument.Controls.AddRichTextContentControl(nativeControl,
                        "VSTORichTextControl" + count.ToString());
                    richTextControls.Add(tempControl);
                }
            }
        }
    }
    

    Untuk C#, Anda juga harus melampirkan Application_DocumentOpen penanganan aktivitas ke DocumentOpen peristiwa.

    this.Application.DocumentOpen +=
        new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);