Erweitern Minimieren
1 von 8 fanden dies hilfreich - Dieses Thema bewerten.

Gewusst wie: Einfügen von Text in Word-Dokumente

NoteHinweis

In einigen Codebeispielen in diesem Thema wird das this-Schlüsselwort, das Me-Schlüsselwort oder die Globals-Klasse in einer für Anpassungen auf Dokumentebene spezifischen Weise verwendet, oder sie sind von Features von Anpassungen auf Dokumentebene (z. B. von Hoststeuerelementen) abhängig. Diese Beispiele können nur kompiliert werden, wenn die erforderlichen Anwendungen installiert sind. Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Produktkombination.

Zum Einfügen von Text in ein Microsoft Office Word 2003-Dokument bestehen grundsätzlich drei Möglichkeiten:

Einfügen von Text in einen Bereich

Mit der Text-Eigenschaft eines Range-Objekts können Sie Text in ein Dokument einfügen.

So fügen Sie Text in einen Bereich ein

  1. Geben Sie einen Bereich an, bei dem es sich um die Einfügemarke am Anfang eines Dokuments handelt. An der Einfügemarke wird der Text New Text (beachten Sie die Leerzeichen) eingefügt.

    object start = 0; 
    object end = 0; 
    
    Word.Range rng = this.Range(ref start, ref end); 
    rng.Text = "New Text"; 
    
    
  2. Wählen Sie das Range-Objekt aus, das jetzt den eingefügten Text enthält.

    rng.Select();
    
    

Ersetzen von Text in einem Bereich

Wenn es sich bei dem Bereich nicht um die Einfügemarke handelt, wird der gesamte Text im Bereich durch den eingefügten Text ersetzt.

So ersetzen Sie Text in einem Bereich

  1. Erstellen Sie ein Range-Objekt, das aus den ersten 12 Zeichen des Dokuments besteht.

    object start = 0; 
    object end = 12; 
    
    Word.Range rng = this.Range(ref start, ref end); 
    
    
  2. Ersetzen Sie diese Zeichen durch die Zeichenfolge " New Text "

    rng.Text = "New Text"; 
    
    
  3. Markieren Sie den Bereich.

    rng.Select();
    
    

Einfügen von Text mithilfe von TypeText

Die TypeText-Methode fügt Text in die Markierung ein. Das Verhalten von TypeText richtet sich nach den Optionen, die auf dem Computer des Benutzers festgelegt sind. Der Code in der folgenden Prozedur deklariert eine Selection-Objektvariable und deaktiviert die Overtype-Option (sofern aktiviert). Wenn die Option Overtype aktiviert ist, wird der gesamte Text neben der Einfügemarke überschrieben.

So fügen Sie Text mit der TypeText-Methode hinzu

  1. Deklarieren Sie eine Selection-Objektvariable.

    Word.Selection currentSelection = Application.Selection; 
    
    
  2. Deaktivieren Sie die Option Overtype, sofern diese aktiviert ist.

    if (Application.Options.Overtype) 
    { 
        Application.Options.Overtype = false; 
    } 
    
    
  3. Testen Sie, ob es sich bei der aktuellen Markierung um eine Einfügemarke handelt.

    Wenn dies der Fall ist, fügt der Code mit TypeText einen Satz und anschließend mit der TypeParagraph-Methode eine Absatzmarke ein.

    // Test to see if selection is an insertion point.
    if (currentSelection.Type == Word.WdSelectionType.wdSelectionIP) 
    { 
        currentSelection.TypeText("Inserting at insertion point. ");
        currentSelection.TypeParagraph(); 
    } 
    
    
  4. Der Code im ElseIf-Block testet, ob es sich bei der Markierung um eine normale Markierung handelt. Wenn dies der Fall ist, testet ein weiterer If -Block, ob die Option ReplaceSelection aktiviert ist. Wenn dies der Fall ist, verwendet der Code die Collapse-Methode, um die Auswahl auf eine Einfügemarke am Anfang des ausgewählten Textblocks zu reduzieren. Fügen Sie den Text und eine Absatzmarke ein.

    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. Wenn es sich bei der Markierung nicht um eine Einfügemarke oder um einen Block mit markiertem Text handelt, führt der Code im Else-Block keine Aktion aus.

    else
    {
        // Do nothing.
    }
    
    

Sie können auch die TypeBackspace-Methode des Selection-Objekts verwenden. Diese Methode ahmt die Funktion der RÜCKTASTE auf der Tastatur nach. Beim Einfügen und Bearbeiten von Text bietet das Range-Objekt jedoch bessere Steuerungsmöglichkeiten.

Die gesamte Methode mit TypeText sieht wie folgt aus:

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

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
© 2013 Microsoft. Alle Rechte vorbehalten.