使用VBA(Microsoft Word)格式化文本文件
需要在Word中格式化文本文件并不罕见。例如,您可能会从需要格式化的人那里收到一封电子邮件,也可能会从朋友那里得到一个ASCII文件。格式化此类文件最常见的必要条件是,从行首删除多余的空格或制表符,从行尾删除多余的空格或制表符,从每行开头删除“答复”字符,并将行合并为制作段落。
手工完成所有这些工作非常耗时,并且很容易使您发胖,尤其是在文件很大的情况下。下面的宏应该使您更轻松。它可以完成刚刚叙述的所有任务,并且可以很快完成。
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
您应注意,此宏最多可替换“>”
的四个级别字符放在行首。它还假定您想要段落分隔符的唯一位置是那些存在空白行的位置。
注意:
如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)上描述的宏,我准备了一个包含有用信息的特殊页面。
_WordTips_是您进行经济有效的Microsoft Word培训的来源。
(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1268)适用于Microsoft Word 97、2000、2002和2003。您可以在Word(Word 2007)的功能区界面中找到此技巧的版本。和更高版本)在这里: