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
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";
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
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);
Znaki te należy zastąpić ciąg Nowy tekst.
rng.Text = " New Text "
rng.Text = "New Text";
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
Oświadczają, Selection zmienną obiektu.
Dim currentSelection As Word.Selection = Application.Selection
Word.Selection currentSelection = Application.Selection;
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; }
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(); }
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(); }
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