Porady: Programowane wstawianie tekstu w dokumentach programu Word

Istnieją trzy podstawowe sposoby, aby wstawić tekst do programu Microsoft Office Word, dokumenty:

  • Wstawianie tekstu w zakresie.

  • Zastąp tekst w zakresie nowy tekst.

  • Użyj TypeText metoda Selection obiekt, aby wstawić tekst na kursora lub zaznaczenia.

[!UWAGA]

Tekst można także wstawić formanty zawartości i zakładki.Aby uzyskać więcej informacji, zobacz Formanty zawartości i Formant zakładki.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu i aplikacji obsługiwanych w programach Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Wstawianie tekstu w zakresie

Użyj Text właściwość Range obiekt, aby wstawić tekst w dokumencie.

Aby wstawić tekst w zakresie

  1. Określ zakres na początku dokumentu, a następnie wstawić tekst Nowy tekst.

    Poniższy przykład kodu służą dostosowywania poziomie dokumentu.

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

    Poniższy przykład kodu, można w dodatku poziomie aplikacji.Ten kod zawiera aktywnego dokumentu.

    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. Wybierz Range obiektu, która została rozszerzona długość wstawionego tekstu z jednego znaku.

    rng.Select()
    
    rng.Select();
    

Zastępowanie tekstu w zakresie

Jeśli określony zakres zawiera tekst, cały tekst w zakresie jest zastępowany wstawionego tekstu.

Aby zamienić tekst w zakresie

  1. Tworzenie Range obiekt, który składa się z pierwszych 12 znaków w dokumencie.

    Poniższy przykład kodu służą dostosowywania poziomie dokumentu.

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

    Poniższy przykład kodu, można w dodatku poziomie aplikacji.Ten kod zawiera aktywnego dokumentu.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=12)
    
    Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
    
  2. Znaki te należy zastąpić ciąg Nowy tekst.

    rng.Text = " New Text "
    
    rng.Text = "New Text"; 
    
  3. Zaznacz zakres.

    rng.Select()
    
    rng.Select();
    

Wstawianie tekstu za pomocą TypeText

TypeText Metoda wstawia tekst na zaznaczenie.TypeTextzachowuje się inaczej, w zależności od tego, opcje ustawione na komputerze użytkownika.Kod w poniższej procedurze deklaruje Selection zmienną obiektu i wyłącza Overtype opcji, jeśli jest włączona.Jeśli Overtype opcja jest uaktywniana, a następnie dowolny tekst obok kursora jest zastępowany.

Wstawianie tekstu za pomocą metody TypeText

  1. Oświadczają, Selection zmienną obiektu.

    Dim currentSelection As Word.Selection = Application.Selection
    
    Word.Selection currentSelection = Application.Selection; 
    
  2. Wyłącz Overtype opcji, jeśli jest włączona.

    If Application.Options.Overtype Then
        Application.Options.Overtype = False 
    End If
    
    if (Application.Options.Overtype) 
    { 
        Application.Options.Overtype = false; 
    } 
    
  3. Sprawdzić, czy bieżące zaznaczenie jest punkt wstawiania.

    Jeśli jest, wstawia kod przy użyciu zdanie TypeText, a następnie ust Oznacz korzystając z TypeParagraph metody.

    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. Kod w ElseIf zablokować testom, aby sprawdzić, czy zaznaczony jest normalnym zaznaczenia.Jeśli jest, następnie innym If zablokować testom, aby sprawdzić czy ReplaceSelection jest włączona opcja.Jeśli jest, w kodzie wykorzystano Collapse metody zaznaczenia, aby zwinąć zaznaczenia do punktu wstawiania na początku zaznaczonego bloku tekstu.Wstawianie tekstu i znak końca akapitu.

    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. Jeśli zaznaczenie nie jest punkt wstawiania lub zaznaczonego tekstu, a następnie kod w bloku Else bloku nie wykonuje żadnej operacji.

    Else 
        ' Do nothing. 
    End If
    
    else
    {
        // Do nothing.
    }
    

Można również użyć TypeBackspace metoda Selection obiekt, który naśladuje funkcję klawisza BACKSPACE na klawiaturze.Jednakże, jeśli chodzi o wkładanie i manipulowania tekstem, Range obiektu oferuje większą kontrolę.

Kompletny kod można znaleźć w poniższym przykładzie.Aby wykorzystać ten przykład, należy uruchomić kod z ThisDocument lub ThisAddIn klasy w projekcie.

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

Zobacz też

Zadania

Porady: Programowane formatowanie tekstu w dokumentach

Porady: Programowane definiowanie i zaznaczanie zakresów w dokumentach

Porady: Programowane rozszerzanie zakresów w dokumentach