Compartilhar via


Como: Inserir texto em documentos do Word

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2003

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Há três maneiras principais para inserir texto em documentos do Microsoft Office Word:

  • Inserir texto em um intervalo.

  • Substituir texto em um intervalo com o novo texto.

  • Use o método TypeText de um objeto Selection para inserir texto no cursor ou seleção.

    Observação:

    Y ou também pode inserir texto controles de conteúdo e indicadores.Para mais informações, consulte Os controles de conteúdo and Indicador de Controlarar.

Inserindo texto em um intervalo

Use a propriedade Text de um objeto Range para inserir texto em um documento.

Para inserir texto em um intervalo

  1. Especifique um intervalo no início de um documento e Inserir texto texto novo.

    O exemplo de código a seguir pode ser usado em uma personalização de nível de documento.

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

    O exemplo de código a seguir pode ser usado em um nível de aplicativo Adicionar - in.Este código usa o documento ativo.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=0)
    rng.Text = " New Text "
    
    object start = 0;
    object end = 0;
    
    Word.Range rng = this.Application.ActiveDocument.Range(
        ref start, ref end);
    rng.Text = "New Text";
    
  2. Selecionar o objeto Range, que foi expandida de um caractere para o ComComprimento do texto inserido.

    rng.Select()
    
    rng.Select();
    

Substituindo texto em um intervalo

Se o intervalo especificado contiver texto, Tudo texto no intervalo é substituído com o texto inserido.

Para substituir o texto em um intervalo

  1. Criar um objeto Range que consiste nos primeiros 12 caracteres no documento.

    O exemplo de código a seguir pode ser usado em uma personalização de nível de documento.

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

    O exemplo de código a seguir pode ser usado em um nível de aplicativo Adicionar - in.Este código usa o documento ativo.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Range(Start:=0, End:=12)
    
    object start = 0;
    object end = 12;
    
    Word.Range rng = this.Application.ActiveDocument.Range(
        ref start, ref end);
    
  2. Substituir Esses caracteres com a Cadeia de Caracteres texto novo.

    rng.Text = " New Text "
    
    rng.Text = "New Text"; 
    
  3. Selecionar o intervalo.

    rng.Select()
    
    rng.Select();
    

Inserindo texto com TypeText

O método TypeText insere texto na seleção.TypeText se comporta de forma diferente dependendo das opções definido no computador do usuário.O código no procedimento a seguir declara uma variável de objeto Selection e desativa a opção de Overtype se ele estiver ativado.Se a opção de Overtype estiver ativada, Avançar, qualquer texto ao lado do cursor será substituído.

Para inserir texto usando o método TypeText

  1. Declare uma variável de objeto Selection.

    Dim currentSelection As Word.Selection = Application.Selection
    
    Word.Selection currentSelection = Application.Selection; 
    
  2. Desative a opção de Overtype se ele estiver ativado.

    If Application.Options.Overtype Then
        Application.Options.Overtype = False
    End If
    
    if (Application.Options.Overtype) 
    { 
        Application.Options.Overtype = false; 
    } 
    
  3. Teste para verificar se a seleção atual for um ponto de inserção.

    Se for, o código insere uma frase usando TypeTexte, em seguida, uma marca de parágrafo usando o método TypeParagraph.

    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. O código no Bloquear de ElseIf testa para ver se a seleção é uma seleção normal.Se for, em seguida, outro Bloquear de If testa para ver se a opção de ReplaceSelection está ativada.Se for, o código usa o método de Collapse da seleção para recolher a seleção para um ponto de inserção no Iniciar do Bloquear de texto selecionado.Inserir o texto e uma marca de parágrafo.

    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. Se a seleção não for um ponto de inserção ou um Bloquear de texto selecionado, o código no Bloquear de Else faz nada.

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

Você também pode usar o método de TypeBackspace do objeto Selection, que imita a funcionalidade da tecla BACKSPACE no teclado.No entanto, quando se trata de para inserir e manipulação de texto, o objeto Range oferece você mais Controlarar.

O exemplo a seguir mostra o código completo:Para usar esse exemplo, executar o código de o ThisDocument ou a classe de ThisAddIn em seu projeto.

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

Consulte também

Tarefas

Como: Formatar texto em documentos

Como: Definir e selecionar intervalos em documentos

Como: Estender intervalos em documentos