mrroyal
Goto Top

Makro für Word: überflüssige Leerzeichen und Absätze entfernen

Hallo zusammen,

ich bin auf der Suche nach einem Makro (vielleicht kann Word das auch schon so) mit dem man überflüssige Leerzeichen und Absätze aus einem Text entfernt.

Also einfach alles zusammenrückt, z.B wie folgt:

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Text Text Text Text Text Text Text Text Text

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text


Soll danach dann so aussehen:

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text


Danke für eure Hilfe!

Gruß

MrRoyal

Content-ID: 441391

Url: https://administrator.de/forum/makro-fuer-word-ueberfluessige-leerzeichen-und-absaetze-entfernen-441391.html

Ausgedruckt am: 22.12.2024 um 16:12 Uhr

mayho33
mayho33 18.04.2019 um 13:32:38 Uhr
Goto Top
139374
139374 18.04.2019 aktualisiert um 13:45:40 Uhr
Goto Top
Sub LeereAbsätzeEntfernen()
    Dim p As Paragraph, regex as object
    Set regex = CreateObject("vbscript.regexp")  
    regex.Pattern = "^\s*$"  
    For Each p In ActiveDocument.Paragraphs
        If regex.Test(p.Range.Text) Then p.Range.Delete
    Next
End Sub
clubmaster
Lösung clubmaster 18.04.2019 um 15:58:41 Uhr
Goto Top
Dazu brauchts aber eigentlich auch kein eigenes Skript, sondern geht auch mit der Ersetzen/Replace Funktion.
Find what: (Leerzeichen), Replace with: nix
139374
139374 18.04.2019 aktualisiert um 16:09:36 Uhr
Goto Top
Zitat von @clubmaster:

Dazu brauchts aber eigentlich auch kein eigenes Skript, sondern geht auch mit der Ersetzen/Replace Funktion.
Find what: (Leerzeichen), Replace with: nix
Löscht dir aber nicht die die leeren Absätze.
lcer00
Lösung lcer00 18.04.2019 um 17:44:26 Uhr
Goto Top
Hallo
Zitat von @139374:

Zitat von @clubmaster:

Dazu brauchts aber eigentlich auch kein eigenes Skript, sondern geht auch mit der Ersetzen/Replace Funktion.
Find what: (Leerzeichen), Replace with: nix
Löscht dir aber nicht die die leeren Absätze.
Nee, da sucht Mann dann nach zwei Absätzen und ersetzt die durch einen. Das ganze mehrfach wiederholen, für aufeinanderfolgende leere Absätze
Suche: ^p^p
Ersetze durch: ^p

Grüße

lcer
MrRoyal
MrRoyal 18.04.2019 um 22:00:34 Uhr
Goto Top
Danke hat prima funktioniert.

Dann kann ich doch so bestimmt auch überflüssige Zahlen wie z.B. Versnummern am Anfang eines Satzes rauswerfen oder?
Ich kenne leider nicht die Parameter für die Suchen/Ersetzen-Funktion.

Wenn mir damit noch jemand weiterhelfen könnte wäre ich super dankbar.

Danke
139374
139374 18.04.2019 aktualisiert um 23:03:50 Uhr
Goto Top
Ja klar, nach Makro fragen und alles andere als Lösung markieren... Hast du's überhaupt probiert, funktioniert einwandfrei und ohne manuelle Klickerei.

Ich kenne leider nicht die Parameter für die Suchen/Ersetzen-Funktion.
Kann man nachschlagen
https://wordmvp.com/FAQs/General/UsingWildcards.htm
MrRoyal
MrRoyal 18.04.2019 um 23:25:57 Uhr
Goto Top
Sorry sollte kein Angriff sein. Leider hat das Makro bei mir aber nicht funktioniert.
139374
139374 19.04.2019 aktualisiert um 07:36:03 Uhr
Goto Top
Hier schon, welche Word Version? Und vor allem gehört dein Beispiel-Text hier in Codeblocks gesetzt.
Ich schätze bei dir sind Makros im Sicherheitscenter deaktiviert. Denn das ist wirklich simpler Code der auf jeden Fall funktionieren muss. Läuft nämlich auf sämtlichen Word-Versionen die ich hier im Repertoire habe, würde den Code ja nicht Posten wenn ich ihn nicht getestet hätte.