Falha ao remover espaços extras usando curingas no MS Word

1

Eu tenho várias instâncias de [word] - [word] em um texto, por exemplo interesse próprio em vez de interesse próprio, que é a forma correta. Eu estou tentando remover o espaço estranho após o curso usando curingas do MS Word. Na caixa Localizar e substituir, eu insiro:

Find: *- *
Replace with: -

No entanto, isso não funciona. Qual é a forma correta para conseguir isso?

    
por codezombie 08.06.2015 / 11:24

2 respostas

1

VBA:

Execute WrapReplace no documento do Word.

Sub WrapReplace()
    Call RegExpReplace("(\w+)\-\s(\w+)", "$1-$2")
End Sub
Private Sub RegExpReplace(pattern As String, Backreference As String)
    Dim strReplacement As String
    Set oRegExp = CreateObject("VBScript.RegExp")

    With oRegExp
        .Global = True
        .IgnoreCase = False
        .pattern = pattern
    End With

    Set matches = oRegExp.Execute(ActiveDocument.Content)

    For Each match In matches
        Set matchRange = ActiveDocument.Content

        strReplacement = oRegExp.Replace(match.Value, Backreference)

        With matchRange.Find
            .Text = match.Value
            .Replacement.Text = strReplacement

            .Wrap = wdFindAsk
            .Execute Replace:=wdReplaceOne
        End With
    Next

End Sub
    
por 08.06.2015 / 16:02
1

Você omitiu para informar ao Word quais são as partes \ 1 e \ 2. Adicione colchetes ao redor do hífen de asterisco e o asterisco, mas deixe o espaço entre eles. No seu Substituir por você, não precisa do hífen, pois agora ele é capturado como parte do \ 1.

    
por 23.12.2015 / 04:01