Das ist ziemlich interessant, aber auch nicht einfach
Meine wirkliche Antwort ist, dass Sie vorschlagen, das Problem zu beheben. So wurde das PDF exportiert!
Diese VBA kann Sie jedoch in Schwung bringen. Es gibt kein Undo, also erstelle ein Backup
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
Die Logik ist einfach - fügen Sie so lange Zeichen hinzu, bis Sie ein gültiges Wort finden ... Stellen Sie an dieser Stelle sicher, dass es nicht Teil eines Wortes ist (z. B. und in l und ). Fügen Sie dann etwas Leerzeichen am Ende hinzu.