Suchen langer Zeilen (Microsoft Word)
Lori fragte nach einer einfachen Möglichkeit, um festzustellen, ob ein Absatz auf mehr als eine Zeile „überläuft“. Es scheint, dass Lori beim Zusammenführen von Beschriftungen, wenn eine Zeile (Absatz) überläuft und zur nächsten Zeile auf dem Beschrift umbrochen wird, die Punktgröße im Text reduzieren wollte, sodass die Zeile genau das belegt – eine einzelne Zeile.
Das Umbrechen von Zeilen ist eine Echtzeit- (und Druck-) Funktion von Word. Word führt kontinuierlich interne Berechnungen durch, um herauszufinden, was auf dem Bildschirm angezeigt oder auf Papier gedruckt werden soll. Wenn Text von einer Zeile in eine andere umgebrochen wird, gibt es eigentlich nichts, was den Umbruchpunkt markiert (wie es bei einigen anderen Textverarbeitungsprogrammen der Fall ist), sodass nichts gesucht oder gefunden werden muss. Darüber hinaus bietet die Suchfunktion von Word keine Option (speziell oder anderweitig), um nach Inhalten zu suchen und anzugeben, über wie viele Zeilen sich die gefundenen Inhalte verteilen.
Es ist möglich, eine lange Reihe von Such- und Ersetzungsvorgängen durchzuführen, um zu versuchen, die zu langen Zeilen zu „fummeln“ und herauszufinden. Sie können beispielsweise die folgenden allgemeinen Schritte ausführen:
-
Ersetzen Sie alle Leerzeichen in einem zusammengeführten Dokument durch eine Standardzeichenkombination, z. B. [s].
-
Ersetzen Sie alle Bindestriche in einem zusammengeführten Dokument durch eine Standardzeichenkombination wie [d].
-
Jetzt bestehen alle Absätze im Dokument aus einem einzigen, zusammengeführten Wort.
-
Führen Sie das Silbentrennungswerkzeug aus, um das Dokument manuell zu trennen.
-
Immer wenn Word eine Linie findet, die getrennt werden muss, können Sie die Punktgröße dieser Linie verringern.
-
Wiederholen Sie Ihre Ersetzungen und bringen Sie [s] und [d] zu ihren normalen Leerzeichen und Strichen zurück.
Das klingt vielleicht etwas verworren, und das ist es auch. Aber es wird ziemlich gut funktionieren, es sei denn, Sie möchten ein Makro schreiben. (Ob Sie es glauben oder nicht, selbst wenn Sie Makros nicht so oft verwenden, ist dieses spezielle Makro viel einfacher als die obigen Schritte immer und immer wieder auszuführen.)
Bei dem Versuch, zu entscheiden, wie das Makro zusammengesetzt werden soll, erwartet uns in VBA eine traurige Entdeckung. Erfahrene Word-Benutzer werden sich daran erinnern, dass das Programm bei Verwendung der Word Count-Funktion in Word die Anzahl der Zeilen in Ihrem Dokument anzeigt. Dies würde bedeuten, dass Sie VBA verwenden können, um die Anzahl der Zeilen in einer Auswahl zu bestimmen. Leider gibt die ReadabilityStatistics-Eigenschaft in VBA keine Statistik für die Anzahl der Zeilen zurück. Dies bedeutet, dass die im Dialogfeld Word Count angezeigte Statistik nach Bedarf intern berechnet wird.
Die einzige offensichtliche Lösung besteht darin, sich auf die Information-Eigenschaft für wdFirstCharacterLineNumber zu verlassen, die die Zeilennummer für das erste Zeichen in einer Auswahl zurückgibt. Leider ist in VBA keine wdLastCharacterLineNumber angegeben. Daher muss das Makro eine Auswahl für das erste Zeichen in einem Absatz treffen, diese mit einer Auswahl des letzten Zeichens in einem Absatz vergleichen und prüfen, ob dieselben zwei Zeilennummern zurückgegeben werden. Ist dies nicht der Fall, kann die Punktgröße des Absatzes reduziert und eine weitere Berechnung durchgeführt werden.
Das folgende VBA-Makro, ParaforceOneLine, führt genau diesen Prozess aus. Es untersucht jeden Absatz in einem Dokument. Wenn ein bestimmter Absatz über eine einzelne Zeile verläuft, wird die Punktgröße dieses bestimmten Absatzes reduziert, bis er in eine einzelne Zeile passt.
Sub ParaForceOneLine() Dim objPara As Paragraph Const ChangeSize = 0.5 For Each lobjPara In ActiveDocument.Paragraphs With objPara.Range While .Information(wdFirstCharacterLineNumber) <> _ .Characters(Len(.Text)).Information(wdFirstCharacterLineNumber) .Font.Size = .Font.Size — ChangeSize Wend End With Next objPara End Sub
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (9954) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: