Bereinigen von Text in einem Makro (Microsoft Word)
Es gab viele Makros, die ich mit dem ausdrücklichen Zweck geschrieben habe, Text zu „bereinigen“, bevor ich etwas anderes damit mache. Zum Beispiel das Einfügen in ein neues Dokument oder das Speichern in einer Textdatei.
Oft ist dieser Vorgang langwierig, da jedes Zeichen in einer Textzeichenfolge untersucht und dann eine Entscheidung getroffen wird, was damit zu tun ist, wenn sich das Zeichen nicht in einem Bereich akzeptabler Zeichen befindet.
VBA enthält eine interessante Methode, mit der Sie Text bereinigen können. Passenderweise wird es als CleanString-Methode bezeichnet. Sie verwenden es wie hier gezeigt:
sCleanedUp = Application.CleanString(Selection.Text)
Diese Instanz setzt die sCleanedUp-Zeichenfolge auf eine „bereinigte“ Version des ausgewählten Textes. Was genau macht die CleanString-Methode? Mit Ausnahme von 7, 9, 10 und 13 werden nicht druckbare Zeichen im ANSI-Bereich von 1 bis 29 entfernt. Im Fall von ANSI-Zeichen 7 wird es entfernt, sofern nicht das Zeichen 13 vorangestellt ist. In diesem Fall Es wird durch eine Registerkarte ersetzt (ANSI 9). Im Fall des ANSI-Zeichens 10 wird es durch das Zeichen 13 ersetzt, sofern nicht das Zeichen 13 vorangestellt ist. In diesem Fall wird es entfernt. Die Zeichen 9 und 13 werden nicht geändert.
Eine Reihe anderer Zeichen außerhalb des Bereichs von 1 bis 29 sind ebenfalls von der CleanString-Methode betroffen. Das ANSI-Zeichen 31 (der optionale Bindestrich), das Zeichen 172 (auch ein optionaler Bindestrich) und das Zeichen 182 (das Absatzzeichen) werden entfernt. Das ANSI-Zeichen 160 (das nicht unterbrechende Leerzeichen), das Zeichen 176 (ein weiteres nicht unterbrechendes Leerzeichen) und das Zeichen 183 (ein Aufzählungszeichen) werden jeweils durch Leerzeichen ersetzt. Alle anderen Zeichen bleiben unverändert.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.
(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (1460) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: