Foxtable(狐表)用户栏目专家坐堂 → [求助]能不能多线程检索


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

主题:[求助]能不能多线程检索

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/4 22:04:00 [显示全部帖子]

全局代码

 

Public Sub thread_sub1(ByVal file As object)
Dim app As New MSWord.Application
try
    Dim doc = app.Documents.Open(file)
    Dim gjzs As String = "Test|Abcdefg|test"
    Dim flag As Boolean = False
    For Each gjz As String In gjzs.split("|")
        app.ActiveWindow.Selection.WholeStory
        With app.ActiveWindow.Selection.Find
            .HitHighlight(gjz, RGB(255, 255, 0), , , , , , , True)
        End With
        If app.ActiveWindow.Selection.Find.Execute Then flag = True
    Next
    If flag = False  Then
        Doc.close
        app.quit
    Else
        app.Visible = True
    End If
catch ex As exception
    msgbox(ex.message)
    app.Quit
finally
   
End try

End Sub

 

调用代码

 

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 t0 As Threading.Thread
        t0 = New Threading.Thread(AddressOf thread_sub1)
        t0.Start(file)
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/4/6 19:29:00 [显示全部帖子]

1、多线程使用的时候,代码执行完毕,并不代表线程的代码执行完毕。你的提示信息是错误的。

 

2、提示信息,你可以写在线程里面,控制显示。

 

3、目前的代码,查询条件,是区分大小写的,这个要注意。(2楼问题绝对是没问题,请在读懂的基础上自行改造)

 

4、测试项目文件的时候,请不要用太多文件测试,一两个足够。


 回到顶部