Это довольно интересно, но также не легко
Мой реальный ответ - предложить вам решить проблему, из-за которой PDF экспортировался!
Тем не менее, этот VBa может помочь вам. Там нет отмены, поэтому сначала создайте резервную копию
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
Логика проста - продолжайте добавлять символы, пока не найдете правильное слово ... в этот момент убедитесь, что оно не является частью слова (например, и существует в l и ). Затем добавьте немного пробела в конец.