MS Access导出查询到Excel文件模板

时间:2017-04-12 13:55:24

标签: ms-access

我想创建一些VBA代码来打开现有的Excel工作簿,将查询传输到新工作表并使用今天的日期和时间保存文件。到目前为止,这是我的代码

Private Sub cmd_planning_report_Click()

    Dim ExportNumber As String
    Dim ExportFileName As String
    Dim ProjectPath As String
    Dim FolderPath As String
    Dim FilePath As String
    Dim TemplatePath As String

    ProjectPath = CurrentProject.Path
    FolderPath = "Report_Templates"
    FilePath = "Template.xlsx"
    TemplatePath = ProjectPath & "\" & FolderPath & "\" & FilePath
    ExportNumber = Format(Now(), "YYYYMMDD_HHMMss")
    ExportFileName = "my_report_" & ExportNumber & ".xlsx"

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "A1_Report", TemplatePath, True

End Sub

哪个有效,因为查询被导出到Template.xlsx但我希望它将文件保存为ExportFileName

2 个答案:

答案 0 :(得分:1)

看起来你只需要这个转折:

ProjectPath = CurrentProject.Path
FolderPath = "Report_Templates"
ExportNumber = Format(Now(), "YYYYMMDD_HHMMss")
ExportFileName = "my_report_" & ExportNumber & ".xlsx"
TemplatePath = ProjectPath & "\" & FolderPath & "\" & ExportFileName 

答案 1 :(得分:0)

使用

将文件保存到模板中后,可以重命名该文件
NAME TemplatePath AS ExportFileName 

或者使用新名称复制文件。

Dim fso As MyObject

Set fso = VBA.CreateObject("Scripting.FileSystemObject")
fso.CopyFile TemplatePath, ExportFileName