Formatieren von Textdateien mit VBA (Microsoft Word)
Es ist nicht ungewöhnlich, dass Textdateien in Word formatiert werden müssen. Beispielsweise erhalten Sie möglicherweise eine E-Mail-Nachricht von jemandem, der formatiert werden muss, oder Sie erhalten eine ASCII-Datei von einem Freund. Die häufigste Notwendigkeit beim Formatieren einer solchen Datei besteht darin, zusätzliche Leerzeichen oder Tabulatoren am Zeilenanfang, zusätzliche Leerzeichen oder Tabulatoren am Zeilenende zu entfernen, „Antwort“ -Zeichen am Zeilenanfang zu entfernen und Zeilen zu kombinieren Absätze machen.
All dies von Hand zu tun ist zeitaufwändig und kann Sie leicht verrückt machen, insbesondere wenn die Datei sehr groß ist. Das folgende Makro soll es Ihnen leichter machen. Es erledigt alle Aufgaben, die gerade erzählt wurden, und erledigt sie sehr schnell.
Sub DoASCII() Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^p^w" .Replacement.Text = "^p" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll For J = 1 To 4 Selection.Find.Text = "^p> " Selection.Find.Execute Replace:=wdReplaceAll Next J Selection.Find.Text = "^p^w" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^w^p" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^p^p" Selection.Find.Replacement.Text = "[{}]" Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "^p" Selection.Find.Replacement.Text = " " Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Text = "[{}]" Selection.Find.Replacement.Text = "^p" Selection.Find.Execute Replace:=wdReplaceAll End Sub
Sie sollten beachten, dass dieses Makro bis zu vier Ebenen von „>“
ersetzt Zeichen am Anfang einer Zeile. Es wird auch davon ausgegangen, dass die einzige Stelle, an der Sie Absatzumbrüche wünschen, die Stellen sind, an denen eine Leerzeile vorhanden ist.
_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 (1268) 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: