2014-04-29 113 views
-2

因此,這裏是我的目錄Vb.net搜索文件與目錄

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

我需要尋找一個excel在該目錄下的子文件夾的文件,然後打開它。 Excel文件被稱爲rptWESSSummary 132788-03-R1

謝謝

+0

可能重複(http://stackoverflow.com/questions/8676516/searching-by -file-extensions-vb-net) – DeanOC

+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下直接的,而是有可能是使用文件夾文件夾,您可以使用遞歸搜索的文件夾,在文件夾的文件。

+0

+1。您忘記提及EnumerateDirectories的遞歸。 – Neolisk

+1

@Neilisk:問題沒有說*嵌套的子文件夾* ;-)我會更新提及這種可能性。 –

+0

您已經完美地執行了要求。我只是覺得OP可能希望將這些擴展爲下一個問題...... :) – Neolisk

1

在這裏工作的基本代碼:

F參數是你要掃描system.GetfilesSystemEntries會照顧,使遞歸工作的頂級目錄你:)

在例子中,你必須在掃描Windows文件夾你通過C:/ Windows和它會檢查到所有嵌套,不嵌套,目錄,並返回一個字符串數組(),其中包括FULLPATH :)這一切

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所有文件創建一個新的前CEL應用配件系列爲默認的工作簿,然後打開你的file.That的所有:)希望它有助於[搜索到的文件擴展名VB.NET]的