
Tips.Net > WordTips Home > Files > Formatting Text Files with VBA
Summary: Got a bunch of text that you’ve imported from a text file? Need to make it look better? You can take a stab at it with this macro. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)
It is not uncommon to need to format text files in Word. For instance, you may get an e-mail message from someone that needs formatting, or you may get an ASCII file from a friend. The most common necessities in formatting such a file is to remove extra spaces or tabs from the beginning of a line, extra spaces or tabs from the end of a line, removing "reply" characters from the beginning of each line, and combining lines to make paragraphs.
Doing all this by hand is very time-consuming work, and can easily drive you batty, particularly if the file is very large. The following macro should make it easier for you. It accomplishes all the tasks just recounted, and does it very quickly.
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
You should note that this macro will replace up to four levels of "> " characters put at the beginning of a line. It also assumes that the only place you want paragraph breaks are those places where a blank line exists.
Tip #1268 applies to Microsoft Word versions: 97 2000 2002 2003 2007
Find and Replace Almost Anything! Learn the ins and outs of the powerful search engines available in Word. Learn to search for and replace text, formatting, graphics, and special characters the easy way with WordTips: Find and Replace.
Have thousands of WordTips at your fingertips, on your own system. Answer your own questions or help support others. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips