Word文档内部检索重复内容的VBA程序代码和使用说明.docVIP

Word文档内部检索重复内容的VBA程序代码和使用说明.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Word文档内部检索重复内容的VBA程序代码和使用说明

引言: 现在信息量极大丰富,计算机的使用带来了很多的方便。但同时,在整理各种资料、撰写综述性文章、申请书、毕业论文等等情况下,特别是涉及到长文档的时候,往往会出现内容的重复出现。通常,这种重复是允许出现的,但是从文档质量来说,重复的内容在不同位置出现时,最好能够做一个变通——类似的意思,换一种说法,人们读起来会流畅的多。可是很多人的习惯上是大量使用了Copy和Paste,会使读者感觉不太舒服,如果是评审人看到的话,往往就会行使其手中的权力——Pass了 另外一个困扰就是参考文献的重复出现问题。虽然使用EndNote等类似的文献管理软件非常方便,也可以解决这个问题。但我想大部分用户可能不太会用,或者不习惯使用,这从我身边的同事、同学、学生可以知道。 因此,找到一些简单的手段解决这些问题非常重要。 我从网上到处去找这样的小程序,发现了利用Word宏功能实现的两段内容,挺不错的。经过实验能够使用,现在演示一下,并加以详细的解释说明,方便更多的人使用。 说明: 使用者要能够熟练使用word,稍微懂一点Visual Basic语言,当然完全不懂也没有太大关系,只要按照下面做就可以,只是如果懂一点的话,更容易看懂代码,并且可以进行一些改造,使其更适合个人使用。 我用来验证的系统为Win7旗舰版和Word2003。 操作演示: 启动Word2003,如果宏安全性高的话,无法使用宏功能,要进行设置“工具”——“宏”——“安全性”——“中”或“低”,再重新启动Word2003即可。 进入“工具”——“宏”——“Visual Basic 编辑器”(或者使用快捷键Alt+F11直接进入),出现这个界面: 在Normal处,右键,菜单中,增加模块,将如下实例的代码直接复制到右边的代码区即可。当然在Project里面如此操作也可以,但是只能对你要处理的文档有效,而在Normal中则保存为通用的功能了。 保存,退出Visual Basic,回到原来的文档状态。运行刚刚加入的宏(可用Alt+F8直接启动)即可对当前活动的文档进行检查处理。 但是如果经常使用这个功能,操作会显得有点麻烦,应在工具栏中设立一个快捷菜单。 设置方法为:???工具”——“自定义”弹出如下界面,“命令”——“宏”,将对应的功能直接拖入到工具栏中。 但拖入之后再工具栏中显示的名称是模块的名称(例如:Normal.模块1.SearchSames)。这样还不够直观,可以更名,如下操作: “重排命令”——“工具栏”——“格式”——“更改所选内容”——“命名”。 实例(查找是否存在相同的句子): 下面这段代码是可以按照句子的模式有哪些信誉好的足球投注网站文档内部全部内容的——根据标点符号来判断句子,按照一个句子检索全文中是否出现相同的句子,并且标记为红色。 Sub SearchSames() Dim i As Paragraph, oSen As Range, MySearchRange As Range Dim MyArray() As String, aArray As Variant On Error Resume Next 忽略错误 With ActiveDocument 遍历段落(注:原始文献资料中提供的是ThisDocument,我发现没有反应,后来改为ActiveDocument可以了) For Each i In .Paragraphs 如果为空白段落则跳过或者到达最后一个段落则进入下一个循环 If VBA.Len(i.Range) = 1 Or i.Range.Start = .Content.Paragraphs.Last.Range.Start Then GoTo GN Set MySearchRange = .Range(i.Range.End, .Content.End) With MySearchRange.Find 在指定的RANGE 中查找 MyArray = VBA.Split(i.Range, ,) 由逗号为分隔符(本来在句子中循环,看了楼主的例子,修改) .ClearFormatting 清除查找格式 For Each aArray In MyArray 在 句子 中循环,如果查找到该内容,则设置为红色 Do While .Execute(findtext:=aArray) MySearchRange.Paragraphs(1).Range.Font.Color = wdColorRed Loop Next End W

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档