以下是一个示例VBA宏代码,可以用于在Word文档中查找和删除重复的内容:
Sub RemoveDuplicates() Dim doc As Document Set doc = ActiveDocument
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim n As Integer
Dim text1 As String
Dim text2 As String
Dim found As Boolean
'设置查找选项
Options.DefaultHighlightColorIndex = wdYellow
Options.HighlightMergeFields = False
Options.CompareIgnoreFormatting = True
'循环遍历文档中的每一页
For i = 1 To doc.Range.Information(wdNumberOfPagesInDocument)
'获取当前页的文本内容
text1 = doc.Range.Information(wdActiveEndPageNumber)
doc.GoTo wdGoToPage, wdGoToAbsolute, i
text2 = doc.Range.Text
'循环遍历当前页中的每个段落
For j = 1 To doc.Range.Information(wdNumberOfParagraphsInSelection)
'获取当前段落的文本内容
doc.Paragraphs(j).Range.Select
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
text1 = Selection.Text
'在当前页中查找是否有重复的段落
found = False
For k = j + 1 To doc.Range.Information(wdNumberOfParagraphsInSelecti
on)
doc.Paragraphs(k).Range.Select
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExten
d
text2 = Selection.Text
If text1 = text2 Then
'如果找到了重复的段落,则将其删除
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdEx
tend
Selection.Delete
found = True
End If
Next k
'如果当前段落已经被删除,则需要重新遍历当前页中的段落
If found Then
j = j - 1
End If
Next j
Next i
End Sub
这个宏代码会循环遍历文档中的每一页和每个段落,然后在当前页中查找是否有重复的
段落。如果找到了重复的段落,则将其删除。请注意,这个宏代码可能需要一些时间来
执行,具体取决于文档的大小和复杂程度。
【 在 wuduan 的大作中提到: 】
: 有个几百页的文档
: 大约每十几页可能有重复,就是说十几页的内容再次出现一次或两次。。。
: 请问如何方便的找出这些重复,并且删除。
: ...................
--
FROM 119.233.177.*