Geschickt suchen und klever ersetzen

Eine der besten Metho­den, um ein Text­doku­ment schnell auf­zu­be­rei­ten, steckt hinter der Suchen-Ersetzen-Funktion. In Word kann sie wahre Wunder wir­ken – wenn man sie zu nutzen weiss.

Der Suchen-Ersetzen-Befehl ist eine uralte Erfindung. Schon die allerersten Textverarbeitungsprogramme in DOS oder anderen PC-Betriebssystemen stellten ihn zur Verfügung.

Kein Wunder: Er gehört zu den leistungsstärksten Bearbeitungsbefehlen. In einem Rutsch können Dokumente aufbereitet, korrigiert und angepasst werden. Und übrigens: Am schnellsten gelangst du durch Betätigen der Tastenkombination Ctrl + h zur Suchen-Ersetzen-Dialogbox.

In einem Rutsch viele Bilder im Dokument platzieren – das geht ganz einfach mit einem Suchen-Ersetzen-Durchlauf.


1. Dokumente aufbereiten

Es passiert beim Schreiben oft, dass überflüssige Leerzeichen im Dokument landen, die beim Drucken ein unruhiges Schriftbild verursachen. Das korrigiert man, natürlich, indem man nach zwei Leerzeichen sucht und alle Fundstellen durch ein Leerzeichen ersetzt.

2. Wörter zählen

Die Suchen-Ersetzen-Funktion ist geeignet, die Anzahl Vorkommnisse eines Worts zu ermitteln. Wenn du nach «Windows» suchst, durch ^& ersetzst (der Code steht für den Suchbegriff) und auf Alle ersetzen klickst, zeigt Word an, dass so und so viele Ersetzungen vorgenommen wurden.

3. Leerzeilen aus dem Dokument entfernen

Viele Leute arbeiten mit Word wie mit einer Schreibmaschine und trennen Absätze mit Leerzeilen voneinander ab. Falls das bei der Weiterbearbeitung stört, gibt man bei «Suchen nach» ^p^p und bei «Ersetzen» ^p ein: Das kleine Dach, gefolgt vom kleinen p, steht für eine Absatzmarke und mit diesem Ersatzlauf werden zwei aufeinander folgende Absatzmarken durch eine ersetzt.

4. Texte durch Grafiken ersetzen

Wenn du in einem Manuskript Symbole oder Ikonen verwendest – beispielsweise Logos für Firmen, Pfeile, Smileys, Emoticons oder grafische Elemente –, dann ist es zeitraubend, diese Elemente einzeln im Dokument zu platzieren. Verwende während des Schreibens einen Platzhalter für das entsprechende Symbol, beispielsweise [apple].

Wenn du mit Schreiben fertig bist, ersetzt du alle Vorkommnisse des Platzhalters durch das eigentliche Bild. Lade das Bild ins Dokument, bring’ es auf die richtige Grösse, markiere es und schneide es aus.

Dann gibst du im Suchen-Ersetzen-Dialog bei «Suchen» den Platzhalter [apple] ein. In die «Ersetzen»-Box kommt der Code ^c hinein. Er steht für den Inhalt der Zwischenablage. Indem du auf Alle ersetzen klickst, werden alle Platzhalter durch das in der Zwischenablage befindliche Bild ersetzt.

5. Alle Grafiken aus dem Dokument entfernen

Bei einem ähnlich gelagerten Trick geht es darum, alle Grafiken aus einem Dokument zu entfernen. Das kann sinnvoll sein, um die Dokumentgrösse zu reduzieren oder um ein Dokument zu bereinigen. Dazu gibst du bei «Suchen nach» den Code für Grafiken ein: ^g.

Das Ersetzen-Feld bleibt leer. Klick auf Alle ersetzen, wodurch alle Grafiken durch nichts ersetzt, das heisst gelöscht werden.

6. «Falsche» Anführungszeichen durch Guillemets ersetzen

Wie man das tut, habe ich vor einiger Zeit im Blogbeitrag «Quicktipp: Anführungszeichen ersetzen in Word» beschrieben.

7. Text zwischen Anführungszeichen durch eine Formatierung ersetzen

Dieser Tipp ist gewissermassen eine Variante des vorhergehenden Tipps. Er ist für Fälle interessant, bei denen der zwischen Anführungszeichen stehende Text durch eine Formatierung ersetzt werden soll – wobei auch die Anführungszeichen zu beseitigen sind. Ich verwende diese Methode gern für Artikel mit Menübefehlen. Im Tagesanzeiger werden Menübefehle wie «Datei > Speichern» zwischen Anführungszeichen gesetzt. In Buchmanuskripten und elektronischen Dokumenten dagegen möchte ich sie, um die Flut von Anführungszeichen zu reduzieren, kursiv und ohne Anführungszeichen darstellen: Datei > Speichern.

Für diesen Trick verwendet man im «Suchen nach»-Feld folgenden Code:

«(?*)»

Dieses Muster findet den ganzen Text, der zwischen zwei Guillemets steht. Du trägst im Feld «Ersetzen durch» den Code ein, der den Inhalt zwischen den Klammern, also der Text zwischen Guillemets, aber ohne die Guillemets selbst repräsentiert. Das ist wiederum der Code für das erste Muster im Such-Term: \1

Ausserdem weisen wir beim Ersetzen dem Text eine Formatierung zu. Dazu blendest du, falls nötig, über die Schaltfläche Erweitern die zusätzlichen Optionen des Suchen-Ersetzen-Dialogs ein und klickst im Abschnitt Ersetzen auf die Schaltfläche Format. Wähle aus dem Kontextmenü den Eintrag Formatvorlage und selektiere die gewünschte Formatvorlage. Du kannst über Format > Zeichen auch eine Direktformatierung wie fett oder kursiv verwenden.

8. Eine Formatierung in Anführungszeichen setzen

Auch der umgekehrte Vorgang ist mit Word möglich. Du kannst alle Elemente, die mit einer bestimmten Zeichenformatierung oder mit einer Direktformatierung (kursiv, rote Schriftfarbe, bestimmte Schriftgrösse, etc.) ausgestattet ist, zwischen Anführungszeichen setzen.

Dazu klickst du ins Feld «Suchen nach» und wählst über die Schaltfläche Format das gewünschte Zeichenformat oder die Direktformatierung. Das Feld «Suchen nach» muss leer sein und die Option Platzhalter verwenden darf nicht eingeschaltet sein – so findest du jeweils den ganzen Textteil, der mit der fraglichen Formatierung versehen ist.

Im Feld «Ersetzen durch» trägst du den Code ^& ein, der bei der Suche ohne Mustervergleich für den Text steht, der beim Suchen gefunden wurde. Diesen setzt du zwischen Anführungszeichen bzw. Guillemets:

«^&»

Du kannst bei Bedarf auch andere Änderungen vornehmen. Durch den folgenden Code würde beispielsweise allen mit der entsprechenden Textformatierung versehenen Passagen eine Pfeilspitze (‣) vorangestellt:

‣ ^&

9. Textaufbereitung per Makro

Diese Suchen-Ersetzen-Tricks eignen sich bestens für Makros. Ein Beispiel aus meinem Alltag: Ich schreibe Beiträge wie diesen für die Daily-Digital-Rubrik in der iPad-App des Tagesanzeiger. Einige dieser Beiträge erscheinen mit etwas Verzögerung und leicht modifiziert auch in diesem Blog. Den Text für die iPad-App verfasse ich in Word, in meinem Blog wird aber BBCode verwendet. BBCode oder Bulletin Board Code ist eine vereinfachte Version von HTML, bei der Formatierungen wie fett durch Tags in eckigen Klammern repräsentiert werden. Nun verspüre ich wenig Lust, durch das Worddokument durchzugehen und alle formatierten Textelemente mit den passenden Tags zu versehen.

Das ist aber auch gar nicht nötig. Mit einer Variation des Tricks Nummer acht ist es möglich, mit bestimmten Formatierungen ausgezeichnete Textteile zwischen die gewünschten Tags zu packen. Es ist sogar möglich, aus Elementen, die mit dem Format «Hyperlink» gekennzeichnet sind, einen funktionierenden Link zu erzeugen. Selbstverständlich lässt sich durch Anpassen des Codes auch «richtiges HTML» erzeugen.

Und das ist der Code – viel Spass damit.

Attribute VB_Name = "Blogworks"
Sub MakeBBCode()
Attribute MakeBBCode.VB_ProcData.VB_Invoke_Func = "Normal.NewMacros.Makro1"

Selection.HomeKey Unit:=wdStory

FormatReplace "Überschrift 3", "^p[b]^&[/b]"
FormatReplace "Überschrift 2", "[b]^&[/b]"
FormatReplace "Überschrift 1", "[b]^&[/b]"
FormatReplace "Intensive Hervorhebung", "[b]^&[/b]"
FormatReplace "Hyperlink", "[url=^&]^&[/url]"

FormatReplace "Schwache Hervorhebung", "[i]^&[/i]"

TextReplace "^p[/b]", "[/b]^p"
TextReplace "^p[/i]", "[/i]^p"
End Sub

Sub FormatReplace(Formatvorlage, ReplaceCode)
    Selection.Find.ClearFormatting
    Selection.Find.Style = ActiveDocument.Styles(Formatvorlage)
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ""
        .Replacement.Text = ReplaceCode
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub TextReplace(Findtext, Replacetext)
Attribute TextReplace.VB_ProcData.VB_Invoke_Func = "Normal.NewMacros.Makro1"
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = Findtext
        .Replacement.Text = Replacetext
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Kommentar verfassen