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-Key: 441391

Url: https://administrator.de/contentid/441391

Printed on: April 24, 2024 at 12:04 o'clock

Member: mayho33
mayho33 Apr 18, 2019 at 11:32:38 (UTC)
Goto Top
Mitglied: 139374
139374 Apr 18, 2019 updated at 11:45:40 (UTC)
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
Member: clubmaster
Solution clubmaster Apr 18, 2019 at 13:58:41 (UTC)
Goto Top
Dazu brauchts aber eigentlich auch kein eigenes Skript, sondern geht auch mit der Ersetzen/Replace Funktion.
Find what: (Leerzeichen), Replace with: nix
Mitglied: 139374
139374 Apr 18, 2019 updated at 14:09:36 (UTC)
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.
Member: lcer00
Solution lcer00 Apr 18, 2019 at 15:44:26 (UTC)
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
Member: MrRoyal
MrRoyal Apr 18, 2019 at 20:00:34 (UTC)
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
Mitglied: 139374
139374 Apr 18, 2019 updated at 21:03:50 (UTC)
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
Member: MrRoyal
MrRoyal Apr 18, 2019 at 21:25:57 (UTC)
Goto Top
Sorry sollte kein Angriff sein. Leider hat das Makro bei mir aber nicht funktioniert.
Mitglied: 139374
139374 Apr 19, 2019 updated at 05:36:03 (UTC)
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.