谢谢,自动化的话,好像只能用vba了
我在网上也看到了类似的代码,
试过了,提示我还需要十几个小时完成,
我还是决定手动做了
【 在 callmebbser 的大作中提到: 】
: 标 题: Re: 怎么查找文章中重复的内容
: 发信站: 水木社区 (Thu Dec 21 07:51:45 2023), 站内
:
: 以下是一个示例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 的大作中提到: 】
: : 有个几百页的文档
: : 大约每十几页可能有重复,就是说十几页的内容再次出现一次或两次。。。
: : 请问如何方便的找出这些重复,并且删除。
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 119.233.177.*]
--
FROM 202.98.13.*