Nasıl yapılır: Word Belgelerine Program Aracılığıyla Metin Ekleme
Microsoft Office Word belgelerini metin eklemenin üç ana yolu vardır:
Aralığa metin ekleme.
Aralıktaki bir metni yeni bir metinle değiştirme.
İmlecin veya seçimin olduğu yere metin eklemek için Selection nesnesinin TypeText yöntemi kullanılır.
[!NOT]
Ayrıca, içerik denetimlerine ve yer işaretlerine de metin ekleyebilirsiniz.Daha fazla bilgi için, bkz. İçerik Denetimleri ve Yer İşareti Denetimi.
Uygulama hedefi: Bu konudaki bilgiler, Word 2013 ve Word 2010 için belge düzeyi projeler ve uygulama düzeyi projelere yöneliktir. Daha fazla bilgi edinmek için, bkz. Office Uygulaması ve Proje Türüne Göre Kullanılabilir Özellikler.
Aralığa Metin Ekleme
Belgeye bir metin eklemek için Range nesnesinin Text özelliğini kullanın.
Aralığa metin eklemek için
Belgenin başında bir aralık belirleyip New Text metnini ekleyin.
Aşağıdaki kod örneği belge düzeyi özelleştirmelerinde kullanılabilir.
Dim rng As Word.Range = Me.Range(Start:=0, End:=0) rng.Text = " New Text "
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 uygulama düzeyi eklentilerinde kullanılabilir.Bu kodda etkin belge kullanılır.
Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=0) rng.Text = " New Text "
Word.Range rng = this.Application.ActiveDocument.Range(0, 0); rng.Text = "New Text";
Eklenen metninden bir karakter daha geniş bir Range nesnesini seçin.
rng.Select()
rng.Select();
Aralıktaki Bir Metni Değiştirme
Eğer belirlenmiş aralık metin içeriyorsa aralıktaki bütün metinler eklenen metinle değiştirilir.
Aralıkta bir metni değiştirmek için
Belgedeki ilk 12 karakteri içeren bir Range nesnesini oluşturun.
Aşağıdaki kod örneği belge düzeyi özelleştirmelerinde kullanılabilir.
Dim rng As Word.Range = Me.Range(Start:=0, End:=12)
object start = 0; object end = 12; Word.Range rng = this.Range(ref start, ref end);
Aşağıdaki kod örneği uygulama düzeyi eklentilerinde kullanılabilir.Bu kodda etkin belge kullanılır.
Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=12)
Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
Bu karakterleri New Text dizgisiyle değiştirin.
rng.Text = " New Text "
rng.Text = "New Text";
Aralığı seçin.
rng.Select()
rng.Select();
TypeText Kullanarak Metin Ekleme
TypeText yöntemi seçimin olduğu yere metin ekler.Kullanıcının bilgisayarındaki seçenek ayarlarına bağlı olarak TypeText farklı davranışlar sergiler.Aşağıdaki yordamdaki kod bir Selection nesne değişkeni bildirin ve Overtype seçeneğini açıksa kapatır.Overtype seçeneği etkinleştirilmişse imlecin yanındaki metnin üzerine yazılır.
TypeText yöntemini kullanarak metin eklemek için
Bir Selection nesne değişkeni bildirin.
Dim currentSelection As Word.Selection = Application.Selection
Word.Selection currentSelection = Application.Selection;
Overtype seçeneğini açıksa kapatın.
If Application.Options.Overtype Then Application.Options.Overtype = False End If
if (Application.Options.Overtype) { Application.Options.Overtype = false; }
Geçerli seçimin bir ekleme noktası olup olmadığına bakın.
Eğer öyleyse kod TypeText kullanarak bir cümle ve TypeParagraph kullanarak bir paragraf işareti ekler.
With currentSelection ' Test to see if selection is an insertion point. If .Type = Word.WdSelectionType.wdSelectionIP Then .TypeText("Inserting at insertion point. ") .TypeParagraph()
// Test to see if selection is an insertion point. if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP) { currentSelection.TypeText("Inserting at insertion point. "); currentSelection.TypeParagraph(); }
ElseIf bloğundaki kod seçimin normal bir seçim olup olmadığına bakar.Eğer öyleyse, başka bir If bloğu ReplaceSelection seçeneğinin açık olup olmadığını kontrol eder.Eğer açık ise kod, seçimi metnin seçili bloğunun başındaki bir ekleme noktasına daraltmak için seçimin Collapse yöntemini kullanır.Metni ve paragraf işaretini ekleyin.
ElseIf .Type = Word.WdSelectionType.wdSelectionNormal Then ' Move to start of selection. If Application.Options.ReplaceSelection Then .Collapse(Direction:=Word.WdCollapseDirection.wdCollapseStart) End If .TypeText("Inserting before a text block. ") .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(); }
Eğer seçim bir ekleme noktası veya seçili metin bloğu değilse Else bloğundaki kod hiçbir şey yapmaz.
Else ' Do nothing. End If
else { // Do nothing. }
Ayrıca Selection nesnesinin klavyenizdeki geri al tuşunun işlevini gören TypeBackspace yöntemini de kullanabilirsiniz.Ancak iş metin ekleme ve değiştirmeye geldiğinde Range nesnesi daha fazla denetim sunar.
Aşağıdaki örnekte tam kod gösterilmektedir.Bu kod örneğini kullanmak için projenizdeki ThisDocument veya ThisAddIn sınıfından kodu çalıştırın.
Friend Sub SelectionInsertText()
Dim currentSelection As Word.Selection = Application.Selection
' Store the user's current Overtype selection
Dim userOvertype As Boolean = Application.Options.Overtype
' Make sure Overtype is turned off.
If Application.Options.Overtype Then
Application.Options.Overtype = False
End If
With currentSelection
' Test to see if selection is an insertion point.
If .Type = Word.WdSelectionType.wdSelectionIP Then
.TypeText("Inserting at insertion point. ")
.TypeParagraph()
ElseIf .Type = Word.WdSelectionType.wdSelectionNormal Then
' Move to start of selection.
If Application.Options.ReplaceSelection Then
.Collapse(Direction:=Word.WdCollapseDirection.wdCollapseStart)
End If
.TypeText("Inserting before a text block. ")
.TypeParagraph()
Else
' Do nothing.
End If
End With
' Restore the user's Overtype selection
Application.Options.Overtype = userOvertype
End Sub
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;
}
Ayrıca bkz.
Görevler
Nasıl yapılır: Belgelerde Metni Program Aracılığıyla Biçimlendirme
Nasıl yapılır: Belgelerde Aralıkları Program Aracılığıyla Tanımlama ve Seçme
Nasıl yapılır: Belgelerde Aralıkları Program Aracılığıyla Genişletme