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
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;
use o valor de enumeração de wdCollapseStart para recolher o intervalo.
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart)
rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
inserir o novo texto.
rng.Text = " New Text "
rng.Text = " New Text ";
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