2012-02-08 11 views
1

ディレクトリから特定のExcelファイルを読み込んで、VBAを使用してに開きます。ここディレクトリ内の特定のファイルをExcel VBAで読み取る方法

は一例であり:
ディレクトリ:c:\temp
ファイルパターン:xxxxx0123.xlsは(XXXXXは、ファイル名を表す)です。

私はApplication.FileSearchを使用しようとしましたが、Excel 2007では動作しません。いずれか良い提案がありますか?あなたはこのコードは、これらのファイルを開き、そのパスをつかみ、そしてあなたの場合には、再度

コードを再帰的に行うことができ、ファイルを閉じて、つまり、あなたのパターンに一致するファイルを検索するDIRを使用することができます

+0

ファイルで何をする必要がありますか?それぞれをループして開くよりも良い解決策があるかもしれません。 – Kittoes0124

答えて

6

事前に

感謝サブフォルダを参照する必要があります

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 *"に変更したいかもしれません。 –

+0

@SiddharthRout通常はワイルドカードの提案(あなたがしたようにそれを上げる価値があった)が、質問は ".xls" – brettdj