以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何找出文档包括的字符串 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70797) |
-- 作者:huhu -- 发布时间:2015/6/29 13:59:00 -- [求助]如何找出文档包括的字符串 如何在一个目录,目录包括好多doc和pdf文档,我如何能做到自动检索这些文档中是否包括某些字符串 不是找出某列包括的字符串,是找出文档是否报告指定的字符串。 这个有办法可以实现吗? |
-- 作者:大红袍 -- 发布时间:2015/6/29 14:18:00 -- 循环文件夹的所有文件,比较文件名即可。
http://www.foxtable.com/help/topics/0341.htm
|
-- 作者:huhu -- 发布时间:2015/6/29 14:22:00 -- 不是找文件名。 比如有3个doc文档,我需要查找这3个文档内容里面是否包括字符串ABC,不是3个文件名是否包括ABC。是内容。 |
-- 作者:大红袍 -- 发布时间:2015/6/29 14:23:00 -- 1、如果是word,可以用vba去控制;
2、如果是pdf,必须用额外的dll文件去查询内容。 |
-- 作者:大红袍 -- 发布时间:2015/6/29 14:35:00 -- 你这个设计到文档检索的功能,现在要弄做一个这样的软件出来,也能卖很高的价格,主要是性能方面要优化。
基本,就是打开word、pdf,取出内容检索,具体可看4楼;少量的文件,还是可以查的;大量文件的话,还得考虑怎么每次打开的时候,把内容更新到数据,以后直接去查数据库。
http://www.cnblogs.com/Teco/archive/2012/04/20/2460595.html
|
-- 作者:huhu -- 发布时间:2015/6/29 16:13:00 -- 以下是引用大红袍在2015/6/29 14:35:00的发言:
你这个设计到文档检索的功能,现在要弄做一个这样的软件出来,也能卖很高的价格,主要是性能方面要优化。
基本,就是打开word、pdf,取出内容检索,具体可看4楼;少量的文件,还是可以查的;大量文件的话,还得考虑怎么每次打开的时候,把内容更新到数据,以后直接去查数据库。
http://www.cnblogs.com/Teco/archive/2012/04/20/2460595.html
这个这个对我来说太难了,我就想从最简单的做起,比较就一个文档,而且就是word。 我需要做到在文本框输入要查找的字符串,比如A,B,C,123等,点击搜索,然后就自动查找。 |
-- 作者:大红袍 -- 发布时间:2015/6/29 16:47:00 -- Dim app As New MSWord.Application try For Each file As String In FileSys.GetFiles("d:\\") If file.ToLower.EndsWith(".doc") Then Dim doc = app.Documents.Open(file) If app.ActiveWindow.Selection.Find.Execute("test") = False Then Doc.close Else output.Show(file) End If End If Next app.Visible = True catch ex As exception msgbox(ex.message) app.Quit finally End try |
-- 作者:huhu -- 发布时间:2015/6/30 15:50:00 -- 请帮我看看,红色的代码怎么改,才能在msgbox(s)弹出包含关键字的文档目录。
Dim app As New MSWord.Application |
-- 作者:大红袍 -- 发布时间:2015/6/30 15:56:00 -- Dim app As New MSWord.Application try Dim dlg As New FolderBrowserDialog If dlg.ShowDialog = DialogResult.Ok Then MessageBox.Show("需要检索的文档目录是:" & dlg.SelectedPath,"提示") End If Dim s As String = "" For Each file As String In FileSys.GetFiles(dlg.SelectedPath) If file.ToLower.EndsWith(".doc") Then Dim doc = app.Documents.Open(file) Dim gjz As String = Tables("说明书检索").Current("说明书关键字") If app.ActiveWindow.Selection.Find.Execute(gjz) = False Then Doc.close Else s = s & IIF(s>"", vbcrlf, "") & file End If End If Next msgbox(s) app.Visible = True catch ex As exception msgbox(ex.message) app.Quit finally End try |
-- 作者:huhu -- 发布时间:2015/6/30 16:37:00 -- Dim app As New MSWord.Application
想自动统计出包含关键字文档的数量,怎么统计呢?count这块该怎么改? MessageBox.Show("共计找到包含关键字的文档有count个,目录如下:" & vbcrlf & s,"关键字文档查找",MessageBoxButtons.OK,MessageBoxIcon.None) |