Como: Excluir marcas de parágrafo ao criar intervalos
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
Versão do Microsoft Office
For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto. |
Sempre que você Criar um objeto de Range com base em um parágrafo, Tudo caracteres não imprimíveis, como marcas de parágrafo, são incluídas no intervalo.Convém inserir o texto de um parágrafo de origem em um parágrafo de destino.Se deseja dividir o parágrafo de destino em parágrafos separados, você deve primeiro Remover a marca de parágrafo do parágrafo Origem.Além disso, como informações de formatação de parágrafo é armazenado dentro a marca de parágrafo, você talvez não queira incluir isso quando você inserir o intervalo em um parágrafo existente.
O procedimento de exemplo a seguir declara duas variáveis de Cadeia de Caracteres, recupera o conteúdo dos primeiro e segundo parágrafos do documento ativo e, em seguida, troca seu conteúdo.O exemplo a, em seguida, demonstra como remover o marcador de parágrafo do intervalo usando o método MoveEnd e inserindo texto dentro do parágrafo.
Para controlar a estrutura de parágrafo ao inserir texto
dois Criar intervalo variáveis para os parágrafos primeiro e o segundo e recuperar seu conteúdo usando a propriedade Text.
O exemplo de código a seguir pode ser usado em uma personalização de nível de documento.
Dim firstRange As Word.Range = Me.Paragraphs(1).Range Dim secondRange As Word.Range = Me.Paragraphs(2).Range Dim firstString As String = firstRange.Text Dim secondString As String = secondRange.Text
Word.Range firstRange = this.Paragraphs[1].Range; Word.Range secondRange = this.Paragraphs[2].Range; string firstString = firstRange.Text; string secondString = secondRange.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 document As Word.Document = Me.Application.ActiveDocument Dim firstRange As Word.Range = document.Paragraphs(1).Range Dim secondRange As Word.Range = document.Paragraphs(2).Range Dim firstString As String = firstRange.Text Dim secondString As String = secondRange.Text
Word.Document document = this.Application.ActiveDocument; Word.Range firstRange = document.Paragraphs[1].Range; Word.Range secondRange = document.Paragraphs[2].Range; string firstString = firstRange.Text; string secondString = secondRange.Text;
Atribuir a propriedade Text, trocar o texto entre dois parágrafos.
firstRange.Text = secondString secondRange.Text = firstString
firstRange.Text = secondString; secondRange.Text = firstString;
Selecionar cada intervalo por sua vez e faça uma Pausar para exibir os resultados em uma caixa de mensagem.
firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text)
firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text);
Ajuste firstRange usando o método MoveEnd para que o marcador de parágrafo não é uma parte do firstRange.
firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1)
object charUnit = Word.WdUnits.wdCharacter; object move = -1; // move left 1 firstRange.MoveEnd(ref charUnit, ref move);
Substituir o restante do texto no primeiro parágrafo, atribuindo um Novo Cadeia de Caracteres à propriedade Text do intervalo.
firstRange.Text = "New content for paragraph 1."
firstRange.Text = "New content for paragraph 1.";
Substituir o texto no secondRange, incluindo a marca de parágrafo.
secondRange.Text = "New content for paragraph 2."
secondRange.Text = "New content for paragraph 2.";
Selecionar firstRange e pausar para exibir os resultados em uma caixa de mensagem e, em seguida, faça o mesmo com secondRange.
Como firstRange foi redefinido para excluir a marca de parágrafo, a formatação original do parágrafo é preservada.No entanto, uma frase inserida sobre a marca de parágrafo em secondRange, removendo o parágrafo separado.
firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text)
firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text);
O conteúdo original de ambos os intervalos foram salvas como seqüências de caracteres, para que você possa restaurar o documento para sua condição original.
Reajustar firstRange incluir a marca de parágrafo usando o método MoveEnd para uma posição de caractere.
firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1)
move = 1; // move right 1 firstRange.MoveEnd(ref charUnit, ref move);
Excluir secondRange.Isso restaura parágrafo três à sua posição original.
secondRange.Delete()
secondRange.Delete(ref missing, ref missing);
Restaure o texto de parágrafo original em firstRange.
firstRange.Text = firstString
firstRange.Text = firstString;
Use o método InsertAfter do objeto Range para inserir o conteúdo de dois de parágrafo original após firstRangee, em seguida, Selecionar firstRange.
firstRange.InsertAfter(secondString) firstRange.Select()
firstRange.InsertAfter(secondString); firstRange.Select();
Exemplo de personalização de nível de documento
Para controlar a estrutura de parágrafo ao inserir texto em personalizações em nível de documento
O exemplo a seguir mostra Concluir método para uma personalização de nível de documento.Para usar esse código, execute-de a classe ThisDocument no seu projeto.
Private Sub ReplaceParagraphText() Dim firstRange As Word.Range = Me.Paragraphs(1).Range Dim secondRange As Word.Range = Me.Paragraphs(2).Range Dim firstString As String = firstRange.Text Dim secondString As String = secondRange.Text firstRange.Text = secondString secondRange.Text = firstString firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text) firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1) firstRange.Text = "New content for paragraph 1." secondRange.Text = "New content for paragraph 2." firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text) firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1) secondRange.Delete() firstRange.Text = firstString firstRange.InsertAfter(secondString) firstRange.Select() End Sub
private void ReplaceParagraphText() { Word.Range firstRange = this.Paragraphs[1].Range; Word.Range secondRange = this.Paragraphs[2].Range; string firstString = firstRange.Text; string secondString = secondRange.Text; firstRange.Text = secondString; secondRange.Text = firstString; firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text); object charUnit = Word.WdUnits.wdCharacter; object move = -1; // move left 1 firstRange.MoveEnd(ref charUnit, ref move); firstRange.Text = "New content for paragraph 1."; secondRange.Text = "New content for paragraph 2."; firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text); move = 1; // move right 1 firstRange.MoveEnd(ref charUnit, ref move); secondRange.Delete(ref missing, ref missing); firstRange.Text = firstString; firstRange.InsertAfter(secondString); firstRange.Select(); }
Nível de aplicativo Adicionar - exemplo
A estrutura de parágrafo do controle ao inserir texto em um aplicativo-nível Adicionar - in
O exemplo a seguir mostra Concluir método para um suplemento em nível de aplicativo.Para usar esse código, execute-de a classe ThisAddIn no seu projeto.
Private Sub ReplaceParagraphText() Dim document As Word.Document = Me.Application.ActiveDocument Dim firstRange As Word.Range = document.Paragraphs(1).Range Dim secondRange As Word.Range = document.Paragraphs(2).Range Dim firstString As String = firstRange.Text Dim secondString As String = secondRange.Text firstRange.Text = secondString secondRange.Text = firstString firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text) firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=-1) firstRange.Text = "New content for paragraph 1." secondRange.Text = "New content for paragraph 2." firstRange.Select() MessageBox.Show(firstRange.Text) secondRange.Select() MessageBox.Show(secondRange.Text) firstRange.MoveEnd(Unit:=Word.WdUnits.wdCharacter, Count:=1) secondRange.Delete() firstRange.Text = firstString firstRange.InsertAfter(secondString) firstRange.Select() End Sub
private void ReplaceParagraphText() { Word.Document document = this.Application.ActiveDocument; Word.Range firstRange = document.Paragraphs[1].Range; Word.Range secondRange = document.Paragraphs[2].Range; string firstString = firstRange.Text; string secondString = secondRange.Text; firstRange.Text = secondString; secondRange.Text = firstString; firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text); object charUnit = Word.WdUnits.wdCharacter; object move = -1; // move left 1 firstRange.MoveEnd(ref charUnit, ref move); firstRange.Text = "New content for paragraph 1."; secondRange.Text = "New content for paragraph 2."; firstRange.Select(); MessageBox.Show(firstRange.Text); secondRange.Select(); MessageBox.Show(secondRange.Text); move = 1; // move right 1 firstRange.MoveEnd(ref charUnit, ref move); secondRange.Delete(ref missing, ref missing); firstRange.Text = firstString; firstRange.InsertAfter(secondString); firstRange.Select(); }
Consulte também
Tarefas
Como: Estender intervalos em documentos
Como: Recolher intervalos ou seleções em documentos
Como: Inserir texto em documentos do Word
Como: Documentos de intervalos de Redefinir no Word
Como: Definir e selecionar intervalos em documentos
Conceitos
Noções básicas sobre parâmetros opcionais in Office Solutions