Bagikan melalui


Menyisipkan teks secara terprogram ke dalam dokumen Word

Ada tiga cara utama untuk menyisipkan teks ke dalam dokumen Microsoft Office Word:

  • Sisipkan teks dalam rentang.

  • Ganti teks dalam rentang dengan teks baru.

  • TypeText Gunakan metode Selection objek untuk menyisipkan teks pada kursor atau pilihan.

Catatan

Anda juga dapat menyisipkan teks ke dalam kontrol konten dan marka buku. Untuk informasi selengkapnya, lihat Kontrol konten dan kontrol Bookmark.

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.

Catatan

Tertarik untuk mengembangkan solusi yang memperluas pengalaman Office di beberapa platform? Lihat model Add-in Office baru. Add-in Office memiliki jejak kecil dibandingkan dengan Add-in dan solusi VSTO, dan Anda dapat membuatnya dengan menggunakan hampir semua teknologi pemrograman web, seperti HTML5, JavaScript, CSS3, dan XML.

Menyisipkan teks dalam rentang

Text Gunakan properti Range objek untuk menyisipkan teks dalam dokumen.

Untuk menyisipkan teks dalam rentang

  1. Tentukan rentang di awal dokumen dan sisipkan teks Teks Baru.

    Contoh kode berikut dapat digunakan dalam kustomisasi tingkat dokumen.

    object start = 0; 
    object end = 0; 
    
    Word.Range rng = this.Range(ref start, ref end); 
    rng.Text = "New Text";
    

    Contoh kode berikut dapat digunakan dalam Add-in VSTO. Kode ini menggunakan dokumen aktif.

    Word.Range rng = this.Application.ActiveDocument.Range(0, 0);
    rng.Text = "New Text";
    
  2. Range Pilih objek, yang telah diperluas dari satu karakter ke panjang teks yang disisipkan.

    rng.Select();
    

Mengganti teks dalam rentang

Jika rentang yang ditentukan berisi teks, semua teks dalam rentang diganti dengan teks yang disisipkan.

Untuk mengganti teks dalam rentang

  1. Buat Range objek yang terdiri dari 12 karakter pertama dalam dokumen.

    Contoh kode berikut dapat digunakan dalam kustomisasi tingkat dokumen.

    object start = 0; 
    object end = 12; 
    
    Word.Range rng = this.Range(ref start, ref end);
    

    Contoh kode berikut dapat digunakan dalam Add-in VSTO. Kode ini menggunakan dokumen aktif.

    Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
    
  2. Ganti karakter tersebut dengan string Teks Baru.

    rng.Text = "New Text";
    
  3. Pilih rentang.

    rng.Select();
    

Sisipkan teks menggunakan TypeText

Metode TypeText menyisipkan teks pada pilihan. TypeText berperilaku berbeda tergantung pada opsi yang diatur pada komputer pengguna. Kode dalam prosedur berikut mendeklarasikan Selection variabel objek, dan menonaktifkan opsi Overtype jika diaktifkan. Jika opsi Overtype diaktifkan, maka teks apa pun di samping kursor akan ditimpa.

Untuk menyisipkan teks menggunakan metode TypeText

  1. Mendeklarasikan Selection variabel objek.

    Word.Selection currentSelection = Application.Selection;
    
  2. Nonaktifkan opsi Overtype jika diaktifkan.

    if (Application.Options.Overtype) 
    { 
        Application.Options.Overtype = false; 
    }
    
  3. Uji untuk melihat apakah pilihan saat ini adalah titik penyisipan.

    Jika ya, kode menyisipkan kalimat menggunakan TypeText, lalu tanda paragraf menggunakan TypeParagraph metode .

    // Test to see if selection is an insertion point.
    if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP) 
    { 
        currentSelection.TypeText("Inserting at insertion point. ");
        currentSelection.TypeParagraph(); 
    }
    
  4. Kode dalam pengujian blok ElseIf untuk melihat apakah pilihan adalah pilihan normal. Jika ya, maka lain Jika memblokir pengujian untuk melihat apakah opsi ReplaceSelection diaktifkan. Jika ya, kode menggunakan Collapse metode pilihan untuk menciutkan pilihan ke titik penyisipan di awal blok teks yang dipilih. Sisipkan teks dan tanda paragraf.

    else 
        if (currentSelection.Type == Word.WdSelectionType.wdSelectionNormal)
        { 
            // Move to start of selection.
            if (Application.Options.ReplaceSelection)
            { 
                object direction = Word.WdCollapseDirection.wdCollapseStart;
                currentSelection.Collapse(ref direction);
            }
            currentSelection.TypeText("Inserting before a text block. ");
            currentSelection.TypeParagraph();
        }
    
  5. Jika pilihan bukan titik penyisipan atau blok teks yang dipilih, maka kode di blok Else tidak melakukan apa pun.

    else
    {
        // Do nothing.
    }
    

    Anda juga dapat menggunakan TypeBackspace metode Selection objek, yang meniup fungsionalitas tombol Backspace pada keyboard Anda. Namun, ketika datang untuk menyisipkan dan memanipulasi teks, Range objek menawarkan Anda lebih banyak kontrol.

    Contoh berikut menunjukkan operasi kueri lengkap. Untuk menggunakan contoh ini, jalankan kode dari ThisDocument kelas atau ThisAddIn di proyek Anda.

    private void SelectionInsertText() 
    { 
        Word.Selection currentSelection = Application.Selection; 
    
        // Store the user's current Overtype selection
        bool userOvertype = Application.Options.Overtype;
    
        // Make sure Overtype is turned off.
        if (Application.Options.Overtype) 
        { 
            Application.Options.Overtype = false; 
        } 
    
        // Test to see if selection is an insertion point.
        if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP) 
        { 
            currentSelection.TypeText("Inserting at insertion point. ");
            currentSelection.TypeParagraph(); 
        } 
        else 
            if (currentSelection.Type == Word.WdSelectionType.wdSelectionNormal)
            { 
                // Move to start of selection.
                if (Application.Options.ReplaceSelection)
                { 
                    object direction = Word.WdCollapseDirection.wdCollapseStart;
                    currentSelection.Collapse(ref direction);
                }
                currentSelection.TypeText("Inserting before a text block. ");
                currentSelection.TypeParagraph();
            }
            else
            {
                // Do nothing.
            }
    
        // Restore the user's Overtype selection
        Application.Options.Overtype = userOvertype;
    }