如何将所有表从Access数据库导出到Excel中 – 每张表的表单
我有一个Access数据库〜30表。
如何将所有30个表格导出到Excel工作簿的单独工作表中?
我希望find一些VBA / VBS代码,我可以在Access内运行来完成这个任务。
有任何想法吗?
你应该可以做这样的事情:
Dim tbl as Tabledef For Each tbl in Currentdb.TableDefs DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, tbl.name, "PathName.xls", True, tbl.name Next
第二个tbl.name
是工作表名称。
这是我使用的完整模块。
Sub expotT() Dim td As DAO.TableDef, db As DAO.Database Set db = CurrentDb() For Each td In db.TableDefs If Left(td.Name, 4) <> "msys" Then DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ td.Name, "C:\xExcelTables.xls", True, td.Name End If Next End Sub
这里是上面代码的格式化和固定版本。 我们不需要excel文件中的MSys表格和表格名称中的dbo前缀。 导出也可以相对于MS Access数据库或固定。
这是代码:
Sub exportTables2XLS() Dim td As DAO.TableDef, db As DAO.Database Dim out_file As String out_file = CurrentProject.path & "\excel_out.xls" Set db = CurrentDb() For Each td In db.TableDefs If Left(td.Name, 4) = "MSys" Then '// do nothing -- skip Else DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ td.Name, out_file, True, Replace(td.Name, "dbo_", "") End If Next End Sub