Я пытаюсь импортировать несколько файлов Excel 2003 со столбцами A: H, которые находятся под одинаковыми заголовками и т. Д., В таблицу базы данных Access 2003. Это модуль в доступе, который я делаю. Я использую поиск файлов для поиска каждого файла, который начинается с формата (что они все делают), чтобы получить все файлы в пути к папке. Есть ли более эффективный способ сделать это? как-то выделить все файлы в папке? и импортировать каждый в одну и ту же таблицу в доступе?
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
Я немного погуглил после того, как попытался написать код, и нашел несколько более эффективных способов поиска, таких как:
strFileName = Dir("somepath\*.XLS")
Do Until strFileName = ""
'import from file "somepath\" & strFileName
strFileName = Dir()
Loop
Я попробую и посмотрю, как это будет