Questão Como parar um loop de macro do Word no final de um documento?


Eu tenho um grande conjunto de documentos onde os títulos são numerados manualmente. Eu defino os estilos de título para numerar automaticamente, mas agora quero excluir os números manuais.

Então, eu tenho a macro a seguir (para o título 2) que encontra o título 2 e remove os números manuais e repete a ação.

O problema é que não pára no final do documento. Como faço para que a macro termine quando chegar ao final do documento?

Aqui está o código:

Sub FixHeading2()
'
' FixHeading2 Macro fixes he numbering for Heading 2
'
Selection.HomeKey Unit:=wdStory
    Selection.Find.Style = ActiveDocument.Styles("Heading 2")
Selection.Find.Execute
While Selection.Find.Found
    Selection.HomeKey Unit:=wdLine
    Selection.MoveRight Unit:=wdWord, Count:=3, Extend:=wdExtend
    Selection.Delete Unit:=wdCharacter, Count:=1
    Selection.Find.Execute
Wend
End Sub

0


origem


Você pode por favor compartilhar algum texto de exemplo também? - Máté Juhász


Respostas:


Você provavelmente precisa definir .Wrap propriedade de .Find

...
Selection.Find.Style = ActiveDocument.Styles("Heading 2")
Selection.Find.Wrap = wdFindStop
...

Propriedade Find.Wrap:

Retorna ou define o que acontece se a pesquisa começar   num ponto diferente do início do documento e no final do   documento é atingido (ou vice-versa, se a opção Avançar estiver definida como Falsa) ou se   o texto da pesquisa não é encontrado na seleção ou no intervalo especificado.   Ler / escrever WdFindWrap.

a partir de Aqui


0



Isso não funcionou. A macro foi em frente e excluiu completamente todos os meus Heading 2, e o Word travou quando tentei pará-lo. Os documentos foram criados pelo Flare, por isso, numeração de título é inserida como texto "1.1 Título 2", em seguida, "1.2 próximo título" e assim por diante. Eu quero substituir o texto '1.1' e '1.2' para numeração automática, para que eles serão atualizados quando eu edito o documento. Estes são documentos longos com vários títulos de capítulos (Título 1) para Título 4. - Ben