标题说明了一切。我正在尝试编写一个允许我在 Access 中运行的 VBA 脚本,它将所有数据库表作为单独的工作表导出到与数据库同名的 Excel 文件中:
Sub exportTablesToXLS()
Dim td As DAO.TableDef, db As DAO.Database
Dim out_file As String
out_file = CurrentProject.Path & "\" & db.DatabaseName & ".xls"
Set db = CurrentDb()
For Each td In db.TableDefs
If Left(td.Name, 4) = "MSys" Then
'We do not need MSys tables in excel file
Else
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
td.Name, out_file, True, Replace(td.Name, "dbo_", "") 'We do not need dbo prefix in sheetnames
End If
Next
End Sub
我遇到的问题希望得到您的帮助:
- 见 line
out_file
-> db.DatabaseName 返回错误。如何正确获取当前 Access 数据库的数据库名称? - 我也想输出一个日志文件(简单的文本文件)。对于每个数据库表,我如何读取已导出的行数并报告最终发生的错误?
非常感谢改进此脚本的任何帮助:-)