Я использую этот синтаксис, который будет экспортировать каждую таблицу в базу данных в рабочую книгу ONE, но теперь мне нужно экспортировать каждую таблицу в свою собственную книгу. Как это можно настроить, чтобы экспортировать каждую таблицу в свою собственную книгу?Экспорт каждой таблицы доступа в отдельную рабочую книгу
Sub ExportToExcel()
Dim td As DAO.TableDef, db As DAO.Database
Dim out_file As String
out_file = "C:\fromaccess.xlsx"
Set db = CurrentDb()
For Each td in db.TableDefs
If Left(td.Name, 4) = "MSys" Then
'Do Nothing
Else
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, td.Name, out_file, True, Replace(td.Name, "dbo_","")
End If
Next
End Sub
EDIT
Я попытался предложение от @ HA560, но получить ошибку
Ошибка выполнения '91':
переменная объекта или переменная блока не установлен
Этот код обновлен:
Sub ExportToExcel()
Dim td As DAO.TableDef, db As DAO.Database
Dim out_file As String
Dim xl As Excel.Application
out_file = "C:\fromaccess.xlsx"
Set db = CurrentDb()
For Each td in db.TableDefs
xl.Workbooks.Add
If Left(td.Name, 4) = "MSys" Then
'Do Nothing
Else
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, td.Name, out_file, True, Replace(td.Name, "dbo_","")
End If
Next
End Sub
После для каждого использования 'workbooks.add()' 'метод ... out_file = activeworkbook.path' – HA560