Pergunta

Eu quero encontrar todas as ocorrências da string "Não". + 1-2 números inteiros entre 1 e 9. depois excluir o "não". e embrulhe o número inteiro entre a parantura: "(4)" ou "(67)". Por exemplo, "nº 34" deve se tornar "(34)".

Parece que tenho vários problemas (Word 2010):

  1. O código substitui apenas um número inteiro. Como faço para encontrar um ou dois números inteiros?
  2. Como faço para fazer o .Ter -substitui.Text contém os números, mas não a palavra "não". (Acabei de colocar xxxxx até agora).
  3. Meu código adiciona parantura, mas no início e no final do documento ativo. Como faço para que isso envolva os números?

    With Selection.Find  
        .Text = "n[or]. [1-9]"  
        .Replacement.Text = "XXXXX"  
        .Forward = True  
        .Wrap = wdFindContinue  
        .Format = False  
        .MatchCase = False  
        .MatchWholeWord = False  
        .MatchWildcards = True  
        .MatchSoundsLike = False
        .MatchAllWordForms = False  
    End With  
    Selection.InsertBefore ("(")  
    Selection.InsertAfter (")")  
    Selection.Find.Execute Replace:=wdReplaceAll 
    
Foi útil?

Solução

Tente com a seguinte solução:

With Selection.Find
    .Text = "(No.)( )([1-9]{1;2})"
    .Replacement.Text = "(\3)"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top