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.