Adiciona automaticamente espaços entre palavras em um documento do Word

1

Eu tenho um documento do Word com cerca de 200 páginas. O texto que colei de um PDF perdeu seus espaços por algum motivo. Como faço para corrigir isso?

    
por VELFR 13.12.2017 / 09:16

1 resposta

0

Isto é bastante interessante, mas também não é fácil

Minha resposta real é sugerir que você corrija o problema de como o PDF foi exportado!

No entanto, este VBa pode ajudá-lo. Não há como desfazer, então crie um backup primeiro

Option Explicit
Sub DoIt()

Dim maxChars As Integer
maxChars = 30                         'update for the biggest word you want to check for (max characters in the word)

Dim pos As Integer
pos = 0

Dim total As Integer
total = Len(Range.Text)

Do While (pos < Len(Range.Text))

Dim s As String
s = ""

Dim wordToUse As String
wordToUse = ""
Dim i As Integer
    For i = 1 To maxChars

    s = s + Mid(Range.Text, pos + i, 1)

    If SpellCheck(s) = True Then
        wordToUse = s
    End If

    Next i

pos = pos + Len(wordToUse)
Dim lef As String
Dim rig As String

lef = Trim(left(Range.Text, pos))
rig = Trim(Mid(Range.Text, pos + 1))

Range.Text = Trim(lef) + " " + Trim(Replace(rig, "  ", " "))

If pos >= total Then
Exit Do
End If

Loop


End Sub


Function SpellCheck(SomeWord As String) As Boolean
'credit https://stackoverflow.com/a/10776225/1221410
    SpellCheck = Application.CheckSpelling(SomeWord)
End Function

A lógica é simples - manter os caracteres adicionados até encontrar uma palavra válida ... nesse ponto, certifique-se de que não faz parte de uma palavra (por exemplo, e existe em l e ). Em seguida, adicione algum espaço em branco até o final.

Como eu adiciono o VBA no MS Office?

    
por 13.12.2017 / 11:42