Program aracılığıyla Word belgelerine metin ekleme

Microsoft Office Word belgelerine metin eklemenin üç birincil yolu vardır:

  • Bir aralığa metin ekleme.

  • Aralıktaki metni yeni metinle değiştirin.

  • İmleç veya TypeText seçime metin eklemek için nesnesinin yöntemini Selection kullanın.

Not

Ayrıca içerik denetimlerine ve yer işaretlerine metin ekleyebilirsiniz. Daha fazla bilgi için bkz . İçerik denetimleri ve Yer işareti denetimi.

Şunlar için geçerlidir: Bu konudaki bilgiler, Word için belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Daha fazla bilgi için bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.

Not

Office deneyimini birden çok platformda genişleten çözümler geliştirmek mi ilginizi çekiyor? Yeni Office Eklentileri modeline göz atın. Office Eklentileri, VSTO Eklentileri ve çözümleriyle karşılaştırıldığında küçük bir ayak izine sahiptir ve HTML5, JavaScript, CSS3 ve XML gibi neredeyse tüm web programlama teknolojisini kullanarak bunları oluşturabilirsiniz.

Aralığa metin ekleme

Text Belgeye metin eklemek için nesnenin Range özelliğini kullanın.

Aralığa metin eklemek için

  1. Belgenin başında bir aralık belirtin ve Yeni Metin metnini ekleyin.

    Aşağıdaki kod örneği belge düzeyi özelleştirmesinde kullanılabilir.

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

    Aşağıdaki kod örneği bir VSTO Eklentisinde kullanılabilir. Bu kod etkin belgeyi kullanır.

    Word.Range rng = this.Application.ActiveDocument.Range(0, 0);
    rng.Text = "New Text";
    
  2. Range Bir karakterden eklenen metnin uzunluğuna kadar genişleyen nesneyi seçin.

    rng.Select();
    

Aralıktaki metni değiştirme

Belirtilen aralık metin içeriyorsa, aralıktaki tüm metin eklenen metinle değiştirilir.

Aralıktaki metni değiştirmek için

  1. Belgedeki ilk 12 karakterden oluşan bir Range nesne oluşturun.

    Aşağıdaki kod örneği belge düzeyi özelleştirmesinde kullanılabilir.

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

    Aşağıdaki kod örneği bir VSTO Eklentisinde kullanılabilir. Bu kod etkin belgeyi kullanır.

    Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
    
  2. Bu karakterleri Yeni Metin dizesiyle değiştirin.

    rng.Text = "New Text";
    
  3. Aralığı seçin.

    rng.Select();
    

TypeText kullanarak metin ekleme

TypeText yöntemi seçime metin ekler. TypeText kullanıcının bilgisayarında ayarlanan seçeneklere bağlı olarak farklı davranır. Aşağıdaki yordamdaki kod bir Selection nesne değişkeni bildirir ve açıksa Üzerine Yaz seçeneğini kapatır. Üzerine Yaz seçeneği etkinleştirilirse, imlecin yanındaki metnin üzerine yazılır.

TypeText yöntemini kullanarak metin eklemek için

  1. Bir Selection nesne değişkeni bildirin.

    Word.Selection currentSelection = Application.Selection;
    
  2. Açıksa Üzerine Yaz seçeneğini kapatın.

    if (Application.Options.Overtype) 
    { 
        Application.Options.Overtype = false; 
    }
    
  3. Geçerli seçimin ekleme noktası olup olmadığını test edin.

    Bu durumda, kod kullanarak TypeTextbir tümce ekler ve ardından yöntemini kullanarak TypeParagraph bir paragraf işareti ekler.

    // Test to see if selection is an insertion point.
    if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP) 
    { 
        currentSelection.TypeText("Inserting at insertion point. ");
        currentSelection.TypeParagraph(); 
    }
    
  4. ElseIf bloğundaki kod, seçimin normal bir seçim olup olmadığını görmek için sınar. Öyleyse, başka bir If bloğu, ReplaceSelection seçeneğinin açık olup olmadığını test eder. Bu durumda kod, seçilen metin bloğunun başındaki ekleme noktasına daraltmak için seçimin yöntemini kullanır Collapse . Metni ve paragraf işaretini ekleyin.

    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. Seçim bir ekleme noktası veya seçili metin bloğu değilse, Else bloğundaki kod hiçbir şey yapmaz.

    else
    {
        // Do nothing.
    }
    

    Klavyenizdeki Geri Al tuşunun Selection işlevselliğini taklit eden nesnesinin yöntemini de kullanabilirsinizTypeBackspace. Ancak, metin ekleme ve düzenleme söz konusu olduğunda, Range nesne size daha fazla denetim sunar.

    Aşağıdaki örnekte kodun tamamı gösterilmektedir. Bu örneği kullanmak için projenizdeki veya ThisAddIn sınıfından ThisDocument kodu çalıştırın.

    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;
    }