Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Como inserir texto em documentos do Word programaticamente

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

  • Inserir texto em um intervalo.

  • Substitua o texto em um intervalo com o novo texto.

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

Observação Observação

Você também pode inserir texto em controles de conteúdo e marcadores. Para obter mais informações, consulte Controles de conteúdo e Controle de indicador.

Aplica-se a: As informações neste tópico se aplicam a projetos em níveis de aplicativo e documento para o Word 2013 e o Word 2010. Para obter mais informações, consulte Recursos disponibilizados pelo aplicativo do Office e pelo tipo de projeto.

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

Para inserir texto em um intervalo

  1. Especifique um intervalo no início de um documento e inserir o texto Novo texto.

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

    
    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 suplemento em nível de aplicativo. Esse código usa o documento ativo.

    
    Word.Range rng = this.Application.ActiveDocument.Range(0, 0);
    rng.Text = "New Text";
    
    
    
  2. Selecione o Range objeto, que expandiu-se de um caractere para o comprimento do texto inserido.

    
    rng.Select();
    
    
    

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

Para substituir o texto em um intervalo

  1. Criar um Range o objeto que consiste em 12 primeiros caracteres do documento.

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

    
    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 suplemento em nível de aplicativo. Esse código usa o documento ativo.

    
    Word.Range rng = this.Application.ActiveDocument.Range(0, 12);
    
    
    
  2. Substitua esses caracteres com a seqüência de caracteres Novo texto.

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

    
    rng.Select();
    
    
    

O TypeText método insere texto na seleção. TypeText tem um comportamento diferente dependendo das opções definidas no computador do usuário. O código no procedimento a seguir declara uma Selection variável de objeto e desativa o Overtype opção se ele está ligado. Se a Overtype opção é ativada, em seguida, qualquer texto ao lado do cursor será substituído.

Para inserir texto usando o método TypeText

  1. Declarar um Selection variável de objeto.

    
    Word.Selection currentSelection = Application.Selection; 
    
    
    
  2. Desativar o Overtype opção se ele está ligado.

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

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

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

    
    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 é um ponto de inserção ou um bloco de texto selecionado, em seguida, o código do Else bloco não faz nada.

    
    else
    {
        // Do nothing.
    }
    
    
    

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

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


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


Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft