标签:Word VBA
如果要删除文档中存在内容重复的段落,怎么操作?当然,很简单,找到后直接选择重复的段落,按Delete键删除即可。
然而,这里存在两个问题:一是要找到重复内容的段落,二是如果文档很长重复段落比较多,这样不仅浪费时间而且容易遗漏。如果使用VBA编写程序,让计算机来帮你实现,既快又不会出错。
下面的程序比较前后两个段落,如果这两个段落内容相同,则删除第二个段落。
程序代码:
代码语言:javascript复制Sub DeleteDuplicateParagraph()
Dim lngMovedAmount As Long
Dim rngRange As Range
'从第一段开始,将区域向下扩展到第二段
Set rngRange = ActiveDocument.Paragraphs(1).Range
lngMovedAmount = rngRange.MoveEnd(Unit:=wdParagraph, Count:=1)
'遍历直到没有段落要检查
Do While lngMovedAmount > 0
'如果两个段落相同, 则删除第二个
'然后添加其后的段落以便检查
If rngRange.Paragraphs(1).Range.Text = _
rngRange.Paragraphs(2).Range.Text Then
rngRange.Paragraphs(2).Range.Delete
lngMovedAmount = rngRange.MoveEnd(Unit:=wdParagraph, Count:=1)
Else
'如果两个段落不相同, 则将之后的
'一个段落添加到比较区域中,
'以便进行检查, 并删除第一个,
'因为对其不再需要.
lngMovedAmount = rngRange.MoveEnd(Unit:=wdParagraph, Count:=1)
rngRange.MoveStart Unit:=wdParagraph, Count:=1
End If
Loop
End Sub