将表格导出到同一目录中的excel电子表格

将表格导出到同一目录中的excel电子表格,excel,vba,ms-access,export-to-excel,Excel,Vba,Ms Access,Export To Excel,我的access数据库中有两个表,我希望能够将它们导出到excel 我可以打开表格,然后执行文件->导出。。。然后选择格式并键入文件名 但是,这种方式用户实际上必须键入名称,这样就有可能错误命名文件,或将其保存为错误格式或保存在错误位置。此外,这两个表必须导出到两个单独的工作簿中 我希望能够在表单上创建一个按钮,自动将一个表导出到一个工作表,将另一个表导出到另一个工作表,两者都在相同的excel工作簿中 如果不能将它们放在同一个工作簿中,那没关系。我只想将它们自动导出到access数据库保存的同

我的access数据库中有两个表,我希望能够将它们导出到excel

我可以打开表格,然后执行文件->导出。。。然后选择格式并键入文件名

但是,这种方式用户实际上必须键入名称,这样就有可能错误命名文件,或将其保存为错误格式或保存在错误位置。此外,这两个表必须导出到两个单独的工作簿中

我希望能够在表单上创建一个按钮,自动将一个表导出到一个工作表,将另一个表导出到另一个工作表,两者都在相同的excel工作簿中

如果不能将它们放在同一个工作簿中,那没关系。我只想将它们自动导出到access数据库保存的同一目录中


如果你知道怎么做,一个额外的好处可能是自定义名称以包含日期。这样,目录也将具有历史导出。有什么建议吗?

您可以使用VBA将Access数据库表导出为Excel工作簿中的工作表

要获取Access数据库的路径,请使用
CurrentProject.path
属性

要使用当前日期命名Excel工作簿文件,请使用
格式(date,“yyyyymmdd”)
方法

最后,要将表导出为工作表,请使用
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
这将把表1和表2输出到同一工作簿中


劳伦斯给了你一个很好的答案。但是,如果您想更好地控制导出到Excel中何处的内容,请逐个单元格查看,这会很慢,您可以执行一些操作,例如从第2行开始导出记录集,并在第1行插入自定义文本。以及所需的任何自定义格式。

对于通过搜索引擎查找此内容的用户,您不需要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.

这很好,但是我如何强制它导出到CurrentProject.Path?outputFileName=CurrentProject.Path&“\export\ux”&Format(Date,“YYYYDDmm”)&.xls”在提供的代码中,当您将值分配给outputFileName变量时,通过包含路径,强制它将文件保存到当前路径。也就是说,将CurrentProject.Path放在=和“”之间,并在引号后加一个\号(CurrentProject.Path省略了后面的斜杠)。它只导出65535行,更多信息,您需要使用DoCmd.transfertext。如果您是以最终用户应用程序/报告系统的形式提供此解决方案,则此解决方案无效