如何查找两个word文档中重复的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查找两个word文档中重复的内容相关的知识,希望对你有一定的参考价值。

以WPS 2019版为例

1、打开文档,依次点击“审阅”--->“比较”

2、在在弹出的“比较文档”界面选择“原文档”以及“修订的文档”进行比较

参考技术A word 中有一个叫做通配符的功能很强大 ,如果只是简单的查找重复内容的话 ctrl+F 完全可以满足了 如果需要查找重复的段落的话 简单的查找肯定不行
如果是连续的重复段落:
点击:编辑-替换
勾选通配符
查找内容:(^13)([!^13]@^13)2,
替换为:\1\2
全部替换
重复一下,看看有没有替换干净(一个段落一般不会重复255次以上吧,呵呵),不行就再来几次,直到
替换处数为0。
此命令效率非常之高!成千上万页内容可瞬间完成!

如果是不连续的重复段落:
点击:编辑-替换
勾选通配符
查找内容:(^13[!^13]@^13)(*)\1
替换为:^13\1\2
全部替换
重复几次,只到替换处数为0。
此命令对数百页文档可能需时较长,因为要执行循环比较,请耐心等候!
Enjoy!

[查找内容:(^13[!^13]@^13)2,
替换为:\1
这段代码的意思:
^13表示段落标记,[!]表示“非”,[!^13]表示段落标记之外的任意单个字符;@表示一个以上的前一字符或表达式,它跟[!^13]一起表示一个以上的段落标记之外的字符,^13[!^13]@^13也就是包含前后段落标记的、有任意个字符的、非空的段落;用圆括号将其括起来(^13[!^13]@^13),意思是将这一部分加以标识,这是我们标识的第一部分,下面替换为框中的\1代表的就是它!
n,代表至少 n
个前一字符或表达式,那么2,当然就表示2个以上这样的段落(括号括起来的部分),注意,应该是完全相同的段落!注意这里的2,不可以用@来替代,如果用@的话,因为它也包括“一个”的情况,那么在执行的时候,所有的不重复的段落也会被它自己替换一遍,执行效率要大打折扣!
题外话:正则表达式里要是有一个代码表示“两个或两个以上”的意思,该多好啊!
另外,这段代码里,[!^13]这个思想我自己觉得用的比较好!电脑也好判断啊,呵呵本回答被提问者和网友采纳
参考技术B ctrl+G 查找

高手们,请问VBA里面怎么获取WORD文档里的目录所对应的内容呢?

现在目录可以获取到了,但是对应的内容不知怎么获取?
帮忙帮忙,谢谢谢。

你能获取到目录,那么对于每个Paragraph对象,可以访问.Range.Hyperlinks集合,对于第一个Hyperlink对象,可以执行它的Follow方法,这样就能跳转到对应的章节,然后在这个基础上读取文档内容就可以了。我不知道你说的“对应的内容”是指什么意思,估计你要做一些遍历和判断。追问

对应的内容我已经获取到了;
但是又来一个新问题,那就是如果内容中含有表格或图片的话,Range对象只能读取 纯文本,而不能读取表格和图片,不知道这该怎么处理?
我的意思就是想,比方说一个WORD文档,里面有文字,有图片,有表格,我想一次性全部给读取出来,当然人有会说图片不会显示,这个我知道,因为图片路径不对,这不是关键,关键是怎么都读取出来,或者说在表格或图片的地方有个标记也好。

追答

对表格和图片的遍历,需要访问Document对象下的相应集合,我不记得是否叫tables和shapes等,你可以查下Word的对象模型。

参考技术A 你好 我想请教一下,目录您是通过那个接口获得的,谢谢,我找了好长时间没找到

以上是关于如何查找两个word文档中重复的内容的主要内容,如果未能解决你的问题,请参考以下文章

如何把word文档中相同的字设置相同的颜色并加下划

怎样用Beyond Compare比较两个word文档的差异

Word已存文档中,将原有内容的字体,字号作相应改变,加标题,插入,替换某符号等word文档中怎么替换步骤

word删除文档中所有空格

用word文档可以搜索关键字吗

word怎么全选所有内容