Vb.net在目录中搜索文件

时间:2014-04-29 23:45:23

标签: vb.net

所以这是我的目录

Dim strFldCustom As String
strFldCustom = "W:\CUSTOM\130000"

我需要在此目录的子文件夹中搜索excel文件,然后将其打开。 excel文件名为rptWESSSummary 132788-03-r1

谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用

System.Directory.EnumerateDirectories(string path)

http://msdn.microsoft.com/en-us/library/dd383304(v=vs.110).aspx

获取所有子目录的枚举,然后

System.IO.File.Exists()

http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

检查该文件是否存在。

您可以使用

打开文件
System.Diagnostics.Process.Start()

http://msdn.microsoft.com/en-us/library/vstudio/system.diagnostics.process.start

在每个链接的VB.Net中都有代码示例。

注意:如果文件不在strFldCustom下的直接文件夹中,而是可能存在包含文件夹的文件夹,则可以使用递归搜索文件夹中的文件夹为文件。

答案 1 :(得分:1)

这里有基本代码:

F参数是你想要扫描system.GetfilesSystemEntries的顶级目录,它会为你做递归工作:)

在示例中,你必须在windows文件夹中扫描你传递c:/ windows,它将检查所有嵌套的,而不是嵌套的目录,并返回一个string()数组,其中包括完整路径:)所有这些都是

  Private Sub GetFile(ByVal f As String)
    Try
        Console.WriteLine("Scanning")
        Dim fList = Directory.GetFileSystemEntries(f, "*.xls", SearchOption.AllDirectories).Where(Function(X) X.Contains("rptWESSSummary 132788-03-r1.xls"))
        Dim Z As String = String.Empty
        For Each el In fList
            Z = el.ToString
            Console.WriteLine(Z)
        Next
        Console.WriteLine("Load excel")
        Dim xlApp As New Excel.Application
        xlApp.Workbooks.Open(Z)
        xlApp.Visible = True
        Console.WriteLine("File aperto in excel")
    Catch ex As Exception
        Console.WriteLine(ex.Message)
    End Try

    Console.ReadLine()
End Sub

使用directory.GetFileSystemEntries获取所有文件,创建一个新的excel应用程序accesso到默认工作簿并打开你的文件。全部:)希望它有所帮助