2012-02-08 168 views
1

我想從目錄中讀取某些excel文件,然後用VBA在中打開它們。如何閱讀excel中目錄中的某些文件VBA

下面是一個例子:
目錄:c:\temp
文件模式:是xxxxx0123.xls(xxxxx代表的文件名)。

我嘗試使用Application.FileSearch,但它在Excel 2007中不起作用。有沒有人有很好的建議?

在此先感謝

+0

你需要怎麼處理這些文件?可能有更好的解決方案,比循環和打開每個人。 – Kittoes0124 2012-02-08 23:36:41

回答

6

您可以使用DIR找到文件匹配你的格局,即該代碼打開這些文件,抓住他們的路徑,並再次關閉

的代碼可以,如果你進行遞歸的文件需要查看子文件夾

Sub GetFiles() 
    Dim strFolder As String 
    Dim strFileName As String 
    Dim wb As Workbook 
    strFolder = "C:\temp" 
    strFileName = Dir(strFolder & "\*123.xls") 
    Do While Len(strFileName) > 0 
     Set wb = Workbooks.Open(strFileName) 
     Debug.Print wb.FullName 
     wb.Close False 
     strFileName = Dir 
    Loop 
End Sub 
+0

+1。我永遠不能明白爲什麼他們刪除application.filesearch :)順便說一句,因爲用戶正在使用Excel 2007,你可能想要將「\ * 123.xls」更改爲「\ * 123.xls *」 – 2012-02-18 04:17:03

+0

@SiddharthRout通常我會這麼做通配符的建議(這是值得提高的,因爲你做了),但問題確實指定「.xls」 – brettdj 2012-02-18 09:13:06