Foxtable(狐表)用户栏目专家坐堂 → 如何比较多个WORD文件内容?


  共有2771人关注过本帖树形打印复制链接

主题:如何比较多个WORD文件内容?

帅哥哟,离线,有人找我吗?
南望
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
如何比较多个WORD文件内容?  发帖心情 Post By:2020/9/16 13:53:00 [只看该作者]

现在有一项目,有很多WORD文件,如何对比其内容知道多个WORD前的重复率?麻烦有经验的老师给个思路呗?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/16 14:16:00 [只看该作者]

文档里多一个空格,一个回车,都不是一回事了,不好比较。

如果要获取文档内容,参考:

Dim app As New MSWord.Application
try
    Dim fileName = "d:\123.docx"
    Dim doc = app.Documents.Open(fileName)
    Output.Show(doc.Content.Text)
catch ex As exception
    msgbox(ex.message)
finally
    app.Quit
End try

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2020/12/5 1:24:00 [只看该作者]

我的大概思路是这样:批量读取word中每个段落内容,按每个段落为单位抽取到foxtable数据库中/(即word中一个段落为数据库的一行)然后在foxtable数据库中做精确的排重操作。 1、此思路是否可行 2、论坛可有相关例子供参考

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/5 9:45:00 [只看该作者]

获取段落

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("d:\test.doc")
    For Each k As object In doc.Paragraphs
        output.show(k.Range.text)
    Next
    app.quit
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

至于比较,foxtable只能是精确的比较:段落1=段落2,或者段落1包含段落2。没有办法比较段落1和段落2有多少百分比的内容是相同的,这种需要使用自然语言处理,也就是AI,这么高端的东西只能百度自行学习了

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2179 积分:17863 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2020/12/6 9:50:00 [只看该作者]

要比较这样的,还是用比较专业的工具吧。例如beyondcompare

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2020/12/8 16:59:00 [只看该作者]

beyondcompare实现比对WORD的数量也是有限,不能太多个比较。

 回到顶部
帅哥哟,离线,有人找我吗?
南望
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2020/12/8 17:11:00 [只看该作者]

下列代码如何按WORD中以逗号为分隔提取内容?

Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open("d:\test.doc")
    For Each k As object In doc.Paragraphs
        output.show(k.Range.text)
    Next
    app.quit
catch ex As exception
    msgbox(ex.message)
    app.quit
End try

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 17:15:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
南望
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3290 威望:0 精华:0 注册:2014/4/9 10:04:00
  发帖心情 Post By:2020/12/8 20:28:00 [只看该作者]

谢谢老师,您前面提到的段落1包含段落2是怎么实现的?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/8 21:33:00 [只看该作者]


 回到顶部
总数 14 1 2 下一页