通过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.