我正在寻找一种简单的方法来删除Word 2007文档中的重复文本。如果查找/替换命令有一些快捷方式,我没有看到它。否则,有人可以推荐我如何编写一个如下所示的宏:
1-选择一个文本块(可以是多个段落,有子弹点等) 2-运行宏或执行命令 3-宏或命令将删除所选文本块的所有实例。
有什么见解吗?
答案 0 :(得分:3)
Selection.Text 返回当前选择的文本。
原则上,Replace命令的语法是:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = Selection.Text
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
用空字符串替换,从而删除要查找的每个文本实例。
但是:你当然必须决定如何处理所选文本的格式,可能必须首先分析你选择的块,因为替换可能不适用于 Selection.Text 忽略的控制字符。 ..这只是一个开始,你需要指定你想要的东西,然后再问一遍,你自己还是我们。同时记录宏和vba参考词是你的朋友。
答案 1 :(得分:0)
对于字母数字文本(带有换行符),您可以使用“查找/替换”,但只要您进入项目符号,新段落等领域,它就不再进行精确匹配。如果您经常需要这样做,我建议使用像LaTeX这样的程序来编写您的文档。 LaTeX允许您对大块文本进行精确匹配。如果您使用的是Windows机器,那么可以在http://www.tug.org/protext/
找到一个很好的LaTeX软件包。答案 2 :(得分:0)
我有完全相同的问题,庞大的邮件列表,我只需要电子邮件。我通过复制excel中的文本,逐句过滤我想删除的段落并删除所有行来解决它。我的工作超过270页,工作得很好(只要文字不太长,它比逐字逐句替换快得多。)或者如果它是一个选项,只需用文本过滤器过滤 - 开始用“to:”,然后你就在10秒内完成。希望它有所帮助。
答案 3 :(得分:0)
只需按Ctrl + H选择并替换文本,键入要删除的文本,然后按替换全部将替换为字段BLANK