Beim Eingeben eines Dokuments kann Drew drei Bindestriche eingeben. Wenn er die Eingabetaste drückt, konvertiert Word die Bindestriche in eine Zeile voller Breite. Er fragt sich, wie er das in einem Makro machen kann.

Die Funktion in Word, die dazu führt, dass drei Striche in eine Linie voller Breite konvertiert werden, ist die automatische Formatierung. Dies ist nur eines der Dinge, die während der Eingabe im Hintergrund ablaufen: Word analysiert kontinuierlich die von Ihnen eingegebenen Zeichen und die von Ihnen ausgeführten Aktionen und „hilft Ihnen“, indem die Konvertierung automatisch durchgeführt wird. In diesem Fall müssen Sie nur in einer neuen Zeile drei Striche eingeben und die Eingabetaste drücken. Die Konvertierung in eine Linie voller Breite erfolgt sofort.

Wie AutoFormat das macht, ist eigentlich ein bisschen interessant. Sie könnten denken, Sie könnten ein Makro aufzeichnen, um zu sehen, was AutoFormat tut, aber Sie können nicht. Wenn Sie den Macro Recorder einschalten, drei Bindestriche eingeben und die Eingabetaste drücken, führt AutoFormat absolut nichts aus – die Bindestriche bleiben erhalten und es wird keine Linie angezeigt.

Daher ist es hilfreich, eine andere Detektivmethode zu verwenden, um herauszufinden, was los ist. Ich habe ein brandneues Dokument geöffnet und sichergestellt, dass nicht druckbare Zeichen angezeigt werden. (Dies ist erforderlich, damit Sie sehen können, wo sich Absatzmarkierungen – harte Rückgaben – im Dokument befinden.) Ich habe dann einige Zahlen eingegeben, damit ich auf die Absätze verweisen kann, aber ich habe sichergestellt, dass sich in der Mitte ein „leerer“ Absatz befindet. (Siehe Abbildung 1.)

image

Abbildung 1. Einrichten für den AutoFormat-Test.

In dem leeren Absatz (zwischen den Absätzen 4 und 5) werde ich die drei Striche eingeben, um AutoFormat zu testen. Wenn ich sie eingebe und dann die Eingabetaste drücke, ist das Ergebnis eine Unterstreichung in Absatz 4. (Siehe Abbildung 2.)

image

Abbildung 2. Eine von AutoFormat hinzugefügte Unterstreichung.

Sie können erkennen, dass sich die Unterstreichung in Absatz 4 befindet, indem Sie die Einfügemarke auf diese Zeile setzen und das Dialogfeld Rahmen und Schattierung anzeigen. Wenn Sie das Dialogfeld mit der Einfügemarke in einer anderen Zeile anzeigen, gibt es keinen Rand – nur in Absatz 4.

Ich habe dann einen leeren Absatz zwischen den Absätzen 7 und 8 hinzugefügt, um zu sehen, was AutoFormat macht, wenn ich drei Unterstriche eingebe und die Eingabetaste drücke. Als ich das tat, passierte genau das Gleiche wie zuvor erwähnt. Der einzige Unterschied bestand darin, dass der in Absatz 7 hinzugefügte Rand ein höheres Gewicht hatte (er war dicker) als der in Absatz 4 hinzugefügte Rand. (Siehe Abbildung 3.)

image

Abbildung 3. Eine Unterstreichung durch Eingabe von drei Unterstrichen.

Wenn Sie also drei Bindestriche und drei Unterstriche eingeben, wird dem vorherigen Absatz ein Rand hinzugefügt (nachdem der Absatz mit den Bindestrichen oder Unterstrichen gelöscht wurde), wobei der einzige Unterschied das Gewicht des Unterstrichs ist. Wenn Sie sich das Dialogfeld Rahmen und Schattierung in den obigen Fällen genau ansehen, werden Sie feststellen, dass AutoFormat bei der Eingabe von drei Strichen eine Rahmenbreite von 0,75 Punkten und bei der Eingabe von drei Unterstrichen eine Rahmenbreite von 1,50 verwendet Punkte.

Das Replizieren dieses Verhaltens in einem Makro ist relativ einfach. Sie müssen nicht unbedingt drei Bindestriche oder Unterstriche hinzufügen und diese und ihren Absatz löschen. das wäre überflüssig. Stattdessen kann das Makro einfach zum vorherigen Absatz wechseln und den unteren Rand für diesen Absatz festlegen.

Sub BottomBorder()

Selection.MoveUp Unit:=wdParagraph, Count:=1     With Selection.Borders(wdBorderBottom)

.LineStyle = wdLineStyleSingle         .LineWidth = wdLineWidth075pt         .Color = wdColorAutomatic     End With End Sub

Wenn Sie das Verhalten von AutoFormat nachahmen möchten, wenn Sie drei Unterstriche eingeben und die Eingabetaste drücken, müssen Sie lediglich die Aufzählung wdLineWidth075pt im obigen Makro in wdLineWidth150pt ändern.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (13537) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365.