Sdílet prostřednictvím


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

  1. 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";
    
  2. 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

  1. 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);
    
  2. Tyto znaky nahradit řetězec Nový Text.

    rng.Text = " New Text "
    
    rng.Text = "New Text"; 
    
  3. 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

  1. Prohlášení Selection objektové proměnné.

    Dim currentSelection As Word.Selection = Application.Selection
    
    Word.Selection currentSelection = Application.Selection; 
    
  2. 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; 
    } 
    
  3. 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(); 
    } 
    
  4. 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();
        }
    
  5. 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