Olá a todos e desculpem o meu inglês: eu tenho essa macro que adiciona um separador de estilo e funciona bem, exceto que adiciona um espaço em branco na frente do parágrafo. Como eu poderia modificar a macro para que ela não a adicione ou, se adicionar, remova-a posteriormente?
Sub SeparadordeEstilos()
With Selection
.InsertBefore vbCr
.InsertStyleSeparator
.Paragraphs(1).Range.Font.Reset
.Paragraphs(1).Style = ("PLL Nivel 2 notdc")
End With
End Sub
Editado:
Muito obrigado também, Charles, e minhas desculpas a todos por não explicar todos os detalhes. Eu preciso, em uma lista de tópicos de vários níveis, dois tipos de parágrafos com a mesma numeração. Alguns com fonte em negrito e que aparecem no sumário e outros com fonte normal que não aparecem no sumário. Sendo assim, criei dois estilos, PLL Nivel 2 com negrito que aparece no sumário e PLL Nivel 2 notdc , sem negrito, que não aparece no sumário que é aplicado automaticamente com o separador de estilo ao executar a macro que descrevo em a questão . É a única solução que encontrei para fazer isso, especialmente por causa do requisito de numeração contínua.
Tudo funciona bem, exceto para o espaço em branco. Esse espaço em branco é muito ruim no documento, não dá um toque profissional, pelo contrário, dá uma aparência desleixada.
Portanto, preciso de uma alternativa ou poder remover o espaço em branco.
Aqui está um documento de exemplo com o problema. Achei que a numeração consecutiva funcionou bem porque vi com Mostrar tudo habilitado, mas se eu desligar, (Mostrar tudo), também não funciona e define uma numeração diferente.
Editar 2
vbCr
é uma nova linha. Esta linha de código.InsertBefore vbCr
insere uma nova linha antes do seu estilo. Remova-o para evitar um espaço em branco antes do parágrafo.Você quer algum espaço, como no caractere de espaço, entre seus dois parágrafos!
Seu código, quando executado no final de um parágrafo, antes da marca de parágrafo, adiciona um separador de estilo e um espaço com o espaço no novo estilo.
Quando a linha
.insertBefore vbCr
é omitida, como sugerido por Reddy , e é executada no final de um parágrafo, ele adiciona o separador de estilo e um espaço removendo a marca de parágrafo atual e trazendo o próximo parágrafo no novo estilo para que pareça um único parágrafo usando dois estilos de parágrafo.O espaço é provavelmente necessário para aplicar o estilo. Certamente é necessário, na segunda instância, separar o texto do seu primeiro parágrafo do texto do segundo.
Você realmente quer eliminar esse espaço?
Aqui está sua macro revisada:
Observe o comentário que adicionei: Use isso no final do parágrafo, não no início.
Aqui está seu documento de exemplo , com a macro.
Quando usado com o separador de estilo, a parte adicionada ao parágrafo não possui um número próprio. Ele atua, visualmente, como parte do parágrafo do qual está separado pelo separador de estilo.