Foxtable(狐表)用户栏目专家坐堂 → [求助] 查找功能


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

主题:[求助] 查找功能

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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
[求助] 查找功能  发帖心情 Post By:2021/6/9 19:12:00 [只看该作者]

老师,

针对以下代码有2个问题:

1. 按照以下它只能搜索Z:\GSS Shanghai\\Quality\Checkreports下层目录中所有的相应文件, 如何让它也再找下下层目录中的文件。

2. 只能找 S.xlsx的文件, 如何找这样的文件,如 s_a  template.xlxs 或 s_atemplete  .xlxs 这类文件。  用  files & "\" & S &“_a*templete*" & ".xlsx",不对,谢谢。


If e.Col.name = "CL" Then
    Select Case left(S,2)
        Case "AR"
            For Each files As String In FileSys.GetDirectories("Z:\GSS Shanghai\\Quality\Checkreports")
             Dim fl As String  = files & "\" & S & ".xlsx"
                If FileSys.FileExists(fl) Then
                    Dim Proc As New Process
                    Proc.File = fl 
                    Proc.Start()
                    Return
                End If
            Next
            msgbox ("没有找到相关Checklist模板!")

    End Select
End If
[此贴子已经被作者于2021/6/9 19:13:08编辑过]

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


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

If e.Col.name = "CL" Then
    Select Case left(S,2)
        Case "AR"
            For Each files As String In FileSys.GetDirectories("Z:\GSS Shanghai\\Quality\Checkreports")
                For Each File As String In FileSys.GetFiles(files )
                    Dim name As String = FileSys.GetName(file)
                    If name Like "s_a*" AndAlso name Like "*.xlsx" Then
                        Dim Proc As New Process
                        Proc.File = file
                        Proc.Start()
                        Return
                    End If
                Next
                For Each files2 As String In FileSys.GetDirectories(files )
                    For Each File2 As String In FileSys.GetFiles(files2 )
                        Dim name2 As String = FileSys.GetName(file2)
                        If name2 Like "s_a*" AndAlso name2 Like "*.xlsx" Then
                            Dim Proc As New Process
                            Proc.File = file2
                            Proc.Start()
                            Return
                        End If
                    Next
                    
                Next
            Next
            msgbox ("没有找到相关Checklist模板!")
            
    End Select
End If

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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2021/6/10 21:13:00 [只看该作者]


老师,S是变更,我改成如下,但是太慢了,可以帮忙优化一下吗 ?

If e.Col.name = "CL" Then
    Select Case left(S,2)
        Case "AR"
           For Each files As String In FileSys.GetDirectories("Z:\GSS Shanghai\Quality\02 Checkreports")
                For Each File As String In FileSys.GetFiles(files )
       
                Next

                  For Each files2 As String In FileSys.GetDirectories(files )
                    For Each File2 As String In FileSys.GetFiles(files2 )
                        Dim name2 As String = FileSys.GetName(file2)
                      If name2 Like S &"*template*.xlsx" Then

                            Dim Proc As New Process
                            Proc.File = file2
                            Proc.Start()
                            Return
                        End If
                    Next
                    
                Next
            


         Next
         msgbox ("没有找到相关Checklist模板!")
            
    End Select
End If

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


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

If e.Col.name = "CL" Then
    Select Case left(S,2)
        Case "AR"
            For Each files As String In FileSys.GetDirectories("Z:\GSS Shanghai\\Quality\Checkreports")
                For Each File As String In FileSys.GetFiles(files )
                    Dim name As String = FileSys.GetName(file)
                    If name Like s & "_a*" AndAlso name Like "*.xlsx" Then
                        Dim Proc As New Process
                        Proc.File = file
                        Proc.Start()
                        Return
                    End If
                Next
                For Each files2 As String In FileSys.GetDirectories(files )
                    For Each File2 As String In FileSys.GetFiles(files2 )
                        Dim name2 As String = FileSys.GetName(file2)
                        If name2 Like s & "_a*" AndAlso name2 Like "*.xlsx" Then
                            Dim Proc As New Process
                            Proc.File = file2
                            Proc.Start()
                            Return
                        End If
                    Next
                    
                Next
            Next
            msgbox ("没有找到相关Checklist模板!")
            
    End Select
End If

 回到顶部