Compartilhar via


Como recolher intervalos ou seleções em documentos programaticamente

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

  • wdCollapseStart recolhe a seleção para o início de seleção.Esta é a opção se você não especificar um valor de enumeração.

  • wdCollapseEnd recolhe a seleção ao final de seleção.

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

para recolher um intervalo e inserir o novo texto

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

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

    Dim rng As Word.Range = Me.Paragraphs(1).Range
    
    Word.Range rng = this.Paragraphs[1].Range; 
    

    O exemplo de código pode ser usado em um suplemento ao aplicativo.Esse código usa o documento ativo.

    Dim rng As Word.Range = Me.Application.ActiveDocument.Paragraphs(1).Range
    
    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. use o valor de enumeração de wdCollapseStart para recolher o intervalo.

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

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

    rng.Select()
    
    rng.Select();
    

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

rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd)
rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);

Você pode esperar que que insere uma nova frase a inseriria antes do marcador de parágrafo, mas isso não é o caso porque o intervalo original inclui o marcador de parágrafo.Para obter mais informações, consulte Como excluir marcas de parágrafo ao criar intervalos programaticamente.

Exemplo da Nível de personalização

Para recolher um intervalo em um nível da personalização

  • O exemplo a seguir mostra o método para uma completa personalização da nível.Para usar este código, ele execução da classe de ThisDocument em seu projeto.

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

Exemplo do suplemento ao Nível

Para recolher um intervalo em um suplemento ao nível

  • O exemplo a seguir mostra o método completa para um suplemento ao aplicativo.Para usar este código, ele execução da classe de ThisAddIn em seu projeto.

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

Consulte também

Tarefas

Como inserir texto em documentos do Word programaticamente

Como definir e selecionar intervalos em documentos programaticamente

Como recuperar caracteres iniciais e finais em intervalos programaticamente

Como excluir marcas de parágrafo ao criar intervalos programaticamente

Como estender intervalos em documentos programaticamente

Como redefinir intervalos em documentos do Word programaticamente