Liebe VBA-Experten,
ich habe eine Frage zu einem Word-Makro und hoffe ihr könnt mir weiterhelfen. Und zwar versuche ich ein Makro zu erstellen, welches in einem Dokument nach fehlenden Leerzeichen nach einem Satzzeichen sucht. Das Makro sollte nach folgenden Satzzeichen ein Leerzeichen einfügen, sofern kein Leerzeichen vorhanden ist:
- Punkt
- Komma
- Semikolon
- Ausrufezeichen
- Fragezeichen
- Doppelpunkt
- Anführungszeichen
Ich habe einen Code im Internet gefunden und angepasst, allerdings funktioniert der Code nur bei den Satzzeichen Punkt, Ausrufezeichen und Fragezeichen. Es werden keine Leerzeichen nach Komma und Semikolon eingefügt. Außerdem wird kein Leerzeichen eingefügt, wenn der Satz nach dem Satzzeichen mit einer Zahl beginnt.
Beispiel:
Der Text
Lorem ipsum dolor sit amet,consectetuer adipiscing elit.Maecenas porttitor congue massa!Fusce posuere;magna sed pulvinar ultricies;purus lectus malesuada libero, sit amet commodo magna eros quis urna?Lorem ipsum dolor sit amet,consectetuer adipiscing elit.
sollte so aussehen, wenn das Makro durchgelaufen ist:
Lorem ipsum dolor sit amet,consectetuer adipiscing elit. Maecenas porttitor congue massa!Fusce posuere; magna sed pulvinar ultricies; purus lectus malesuada libero, sit amet commodo magna eros quis urna? Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Hier ist der Code:
Sub SpaceAfterPunctuationMark()
ActiveDocument.Range.Find.Execute Findtext:="([.\,\;\!\?])([A-Z])", MatchWildcards:=True, Wrap:=wdFindContinue, Replacewith:="\1 \2", Replace:=wdReplaceAll
End Sub
Ich habe schon öfter mit VBA in Excel gearbeitet aber VBA in Word ist komplettes Neuland für mich und ich stehe hier total auf dem Schlauch. Ich hoffe ihr könnt mir weiterhelfen.
Zur Info: Ich nutze das Betriebssystem Windows 10 und die Office Version ist Windows 365.
Vielen lieben Dank und viele Grüße
Mia
|