2011-08-23 3 views
1

A : H 열을 사용하여 여러 개의 Excel 2003 파일을 가져 오려고합니다. 같은 제목 등 아래에 있습니다. 액세스 2003 데이터베이스의 테이블 이것은 액세스 메신저 제작의 모듈입니다. 파일 검색을 사용하여 폴더 경로의 모든 파일을 가져 오기 위해 Format으로 시작하는 모든 파일을 찾습니다. 이 작업을 수행하는보다 효율적인 방법이 있습니까? 어떻게 든 폴더에있는 모든 파일을 선택합니까? 각각의 테이블을 액세스 할 때 동일한 테이블로 가져올 수 있습니까? DoCmd.TransferSpreadsheet는 각 파일 경로를 개별적으로 가져 와서 가져올 폴더의 각 파일 이름을 가져 오는 방법을 모르겠습니다.폴더 (모든 엑셀 파일)의 모든 파일을 액세스 데이터베이스의 단일 테이블로 가져 오기

이 문제를 해결할 수 있거나 더 좋은 방법이나 훌륭한 방법에 관해 다시 한 번 생각해보십시오!

나는 순간이있다) = 사전에 감사합니다 :

Sub Import() 

Dim db As Database 
Set db = CurrentDb 

Dim appendtbl As Recordset 
Set appendtbl = db.OpenRecordset("sampletbl", dbOpenDynaset) 

Dim FilePathString As String 
Dim folderString As String 

folderString = "C:blahblahblah" 
Dim lngFileNumber As Long 
With Application.FileSearch 
    .NewSearch 
    .LookIn = folderString 
    .FileType = xls 
    .Filename = "Format" 
    If .Execute > 0 Then 

    For lngFileNumber = 1 To .FoundFiles.Count 

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "sampletbl",  FilePathString, True, "A:H" 

    Next lngFileNumber 

    End If 
    End With 

    End Sub 

내가했던 일부 인터넷 검색 내가 코드를 작성하려고하고 다음과 같은 몇 가지 훨씬 더 효율적 lookign 방법 foudn 후 :

strFileName = Dir("somepath\*.XLS") 
Do Until strFileName = "" 
'import from file "somepath\" & strFileName 
strFileName = Dir() 
Loop 

나는 그것을 시험해보고 그것이 어떻게되는지 보게 될 것이다.

답변

2

FileSystemObject를 사용하여 그렇게 할 수있다. FSO에 대한 자세한 내용은 MSDN의 문서 확인을 위해

Dim oFs As New FileSystemObject 
Dim oFolder As Folder 
Dim oFile As File 
If oFs.FolderExists(FullPath) Then 
    Set oFolder = oFs.GetFolder(FullPath) 

    For Each oFile In oFolder.Files 

    //oFile contain the file information 

: 내가 구글에서 발견 http://msdn.microsoft.com/en-us/library/6tkce7xa%28v=VS.85%29.aspx

+0

내가 가진 이미받은 코드가 작동 그래서 난 당신의 코드를 시도하는 시간을 가졌다 havent 한. 도움을 주셔서 감사합니다 =) – Chaostryder