通过VBA将MS Access表导出到同一目录中的Excel电子表格
我有我的访问数据库中的两个表,我想能够出口到Excel 。
我可以通过打开表格然后执行文件 – >导出…然后select格式并input文件名来完成。
但是,这样用户实际上必须input名称,以便有可能误导文件或将其保存为错误的格式或错误的位置。 此外,这两个表必须导出到两个单独的工作簿。
我想要做的是在窗体上自动导出一个表到一个工作表和另一个工作表 ,在同一个Excel工作簿中的button 。
如果把它们放在同一个工作簿中是不可能的,那很好。 我只是希望他们自动导出到我的访问数据库保存在同一目录。
如果你知道怎么做,一个额外的津贴可能是定制名称以包含date。 这样该目录也会有历史出口。 有什么build议?
您可以使用VBA将Excel数据库表导出为Excel工作簿中的工作表。
要获取Access数据库的path,请使用CurrentProject.Path
属性。
要命名带有当前date的Excel工作簿文件,请使用Format(Date, "yyyyMMdd")
方法。
最后,要将表导出为工作表,请使用DoCmd.TransferSpreadsheet
方法。
例:
Dim outputFileName As String outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls" DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True
这将输出Table1和Table2到同一个工作簿。
HTH
劳伦斯给你一个很好的答案。 但是,如果您想更多地控制导出到Excel中的哪些位置,请参阅模块:示例Excel自动化 – 逐个单元格,速度慢, 模块:使用自动化将logging传输到Excel您可以执行诸如从第2行开始导出logging集和在第1行中插入自定义文本。以及所需的任何自定义格式。
对于通过search引擎find的人,你不需要VBA。 你可以:
1.) select the query or table with your mouse 2.) click export data from the ribbon 3.) click excel from the export subgroup 4.) follow the wizard to select the output file and location.
- vba Range.Find使用后期绑定返回null
- 访问Excel公式
- 从Access表中selectID是一个string
- 如何更改ACE TypeGuessRows Access 2007的registry值,以便在使用VBA从Excel文件导入时正确地确定字段数据types
- 当不是所有的Excel文件都具有相同的工作表时,将多个Excel文件和工作表导入到Access
- 以编程方式将SQL Server视图导出到Excel
- 运行时错误“3052”。 文件共享locking计数超出。 增加MaxLocksPerFileregistry项
- 如何在Access-to-Excel自动化中正确指定ATP 2.0 XIRR函数调用
- 有条件的内部联接语句(VBA / SQL)生成多个值