Compartilhar via


Recolher programaticamente intervalos ou seleções em documentos

Se você estiver trabalhando com um objeto ou Selection , convém alterar a seleção para um Range ponto de inserção antes de inserir texto, para evitar substituir o texto existente. Range Os objetos e Selection têm um método Collapse, que faz uso dos WdCollapseDirection valores de enumeração:

  • wdCollapseStart recolhe a seleção até o início da seleção. Esse é o padrão se você não especificar um valor de enumeração.

  • wdCollapseEnd recolhe a seleção até o final da seleção.

    Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de suplemento VSTO para Word. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.

Para recolher um intervalo e inserir um novo texto

  1. Crie um Range objeto que consiste no primeiro parágrafo do documento.

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

    Word.Range rng = this.Paragraphs[1].Range;
    

    O exemplo de código a seguir pode ser usado em um suplemento VSTO. Esse código usa o documento ativo.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. Use o valor de enumeração para recolher o wdCollapseStart intervalo.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
  3. Insira o novo texto.

    rng.Text = " New Text ";
    
  4. Selecione o Range.

    rng.Select();
    

    Se você usar o valor de enumeração, o wdCollapseEnd texto será inserido no início do parágrafo a seguir.

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

Você pode esperar que a inserção de uma nova frase a insira antes do marcador de parágrafo, mas esse não é o caso porque o intervalo original inclui o marcador de parágrafo.

Exemplo de personalização em nível de documento

Para recolher um intervalo em uma personalização em nível de documento

  1. O exemplo a seguir mostra o método completo para uma personalização em nível de documento. Para usar esse código, execute-o a ThisDocument partir da classe em seu projeto.

    Word.Range rng = this.Paragraphs[1].Range; 
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart); 
    
    rng.Text = " New Text ";
    rng.Select();
    

Exemplo de suplemento VSTO

Para recolher um intervalo em um suplemento VSTO

  1. O exemplo a seguir mostra o método completo para um suplemento VSTO. Para usar esse código, execute-o a ThisAddIn partir da classe em seu projeto.

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
    rng.Text = " New Text ";
    rng.Select();