Lesbarkeit von Texten automatisch verbessern

Word trennt Angaben wie »500 €« oder »§ 12« häufig so, dass Wert und Symbol in verschiedenen Zeilen stehen. Das ist schlecht lesbar. Sie möchten für den nötigen Zusammenhalt beider Elemente sorgen, am besten automatisch.

Mit einem geschützten Leerzeichen zwischen Wert und Symbol können Sie unerwünschte Zeilenwechsel verhindern. Dieses geben Sie mit der Tastenkombination [Strg]+[Umsch]+[Leer] ein.

Unser Makro sorgt in bereits fertig-gestellten Dokumenten für den nötigen Zusammenhalt von Wert und Symbol. Im Beispiel verwenden wir das Paragrafen-Zeichen – Sie können »§« aber durch andere Zeichen ersetzen. Achten Sie dabei auf die richtige Stellung der Leerzeichen: Das Euro-Symbol etwa steht am Ende einer Betragsangabe, daher ersetzen Sie »§^s^s«, »§^s« und »§^s « durch »^s^s€«, »^s€« und » ^s€«.

Öffnen Sie »Extras | Makro | Makros« und tippen Sie einen Namen ein, etwa »Schriftbild_verbessern«. Klicken Sie auf »Erstellen« und geben Sie im VBA-Editor folgenden Code ein (auf der Heft-CD und -DVD unter CHIP-Code Praxis07):

Sub Schriftbild_verbessern()

Selection.Find.Clear-
Formatting
Selection.Find.Replacement.
ClearFormatting
With Selection.Find
.Text = „§“
.Replacement.Text = „§^s“
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
Replace:=wdReplaceAll
With Selection.Find
.Text = „§^s^s“
.Replacement.Text = „§^s“
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
Replace:=wdReplaceAll
With Selection.Find
.Text = „§^s „
.Replacement.Text = „§^s“
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
Replace:=wdReplaceAll
End Sub
Im VBA-Code wird das geschützte Leerzeichen durch »^s« dargestellt. Das Makro führt drei Schritte aus. Zuerst ergänzt es fehlende Leerzeichen durch geschützte, indem es »§« durch »§^s« ersetzt. Waren bereits Leerzeichen vorhanden, sind nun Kombinationen aus zwei geschützten oder geschütztem und ungeschütztem Leerzeichen im Text verteilt. Durch den Tausch von »§^s^s« in »§^s« sowie »§^s « in »§^s« korrigiert das Makro diese doppelten Leerstellen.

! Achtung: Das Makro funktioniert nur richtig, wenn diese Schrittfolge beim Ersetzen genau eingehalten wird.