Postupy: Vkládání textu do dokumentů aplikace Word prostřednictvím kódu programu
Existují tři základní způsoby vložení textu do dokumentů aplikace Microsoft Office Word:
Vložte text v oblasti.
Nový text nahraďte text v oblasti.
Použití TypeText metodou Selection objekt vložit textový kurzor nebo výběr.
[!POZNÁMKA]
Můžete také vložit text do ovládacích prvků obsahu a záložky.Další informace naleznete v tématu Ovládací prvky obsahu a Záložka řízení.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Vložení textu do oblasti
Použití Text vlastnosti Range objekt vložit text v dokumentu.
Vložit text v rozsahu
Určete rozsah na začátku dokumentu a vložení textu Nový Text.
Následující příklad kódu lze v dokumentu úroveň přizpůsobení.
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";
Následující příklad kódu lze v doplňku úrovni aplikace.Tento kód používá aktivní dokument.
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";
Vyberte Range objektu, který má jeden znak rozšířen na délku vloženého textu.
rng.Select()
rng.Select();
Nahrazování textu v oblasti
Zadaná oblast obsahuje text, text v rozsahu nahrazen vložený text.
Chcete-li nahradit text v oblasti
Vytvoření Range objekt, který se skládá z prvních 12 znaků v dokumentu.
Následující příklad kódu lze v dokumentu úroveň přizpůsobení.
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);
Následující příklad kódu lze v doplňku úrovni aplikace.Tento kód používá aktivní dokument.
Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=12)
Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
Tyto znaky nahradit řetězec Nový Text.
rng.Text = " New Text "
rng.Text = "New Text";
Vyberte oblast.
rng.Select()
rng.Select();
Vložení textu pomocí TypeText
TypeText Metoda výběru vloží text.TypeTextchová odlišně v závislosti na možnosti nastavení v počítači uživatele.Kód v následujícím postupu deklaruje Selection objektové proměnné a vypne Overtype možnost, pokud je zapnuta.Pokud Overtype je aktivována možnost a potom text vedle kurzoru je přepsán.
Vložení textu pomocí metody TypeText
Prohlášení Selection objektové proměnné.
Dim currentSelection As Word.Selection = Application.Selection
Word.Selection currentSelection = Application.Selection;
Vypnout Overtype možnost, pokud je zapnuta.
If Application.Options.Overtype Then Application.Options.Overtype = False End If
if (Application.Options.Overtype) { Application.Options.Overtype = false; }
Vyzkoušejte, zda aktuální výběr je textový kurzor.
Pokud je kód vloží věta pomocí TypeTexta potom odstavce označit pomocí TypeParagraph metoda.
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(); }
Kód v ElseIf testů, zda je výběr normální výběr blokovat.Pokud je další If blokovat zkoušky viz zda ReplaceSelection je zapnuta možnost.Pokud je kód používá Collapse metoda výběru Sbalit výběr textový kurzor na začátek vybraného bloku textu.Vložení textu a konce odstavce.
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(); }
Pokud výběr není textový kurzor nebo vybraný text a potom kód v bloku Else bloku neprovede žádnou akci.
Else ' Do nothing. End If
else { // Do nothing. }
Můžete také použít TypeBackspace metodu Selection objektu, který napodobuje funkci na klávesnici klávesu BACKSPACE.Ale pokud dojde na vkládání a manipulaci s textem, Range objekt nabízí větší kontrolu.
Následující příklad ukazuje kompletní kód.Chcete-li použít tento příklad spustit kód z ThisDocument nebo ThisAddIn třídy v projektu.
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;
}
Viz také
Úkoly
Postupy: Formátování textu v dokumentech prostřednictvím kódu programu
Postupy: Definování a výběr oblastí v dokumentech prostřednictvím kódu programu
Postupy: Rozšiřování oblastí v dokumentech prostřednictvím kódu programu