2017-08-31 64 views
0

我是MS访问和VBA的新手,需要帮助。 我所做的是手动导出Excel表单中MS访问查询的结果。我正试图自动化这一点。所以我想要做的是在MS访问模块中创建一个VBA代码,一旦运行代码,它将运行所述查询,然后将查询结果保存在Excel文件的特定工作表中。它也会删除存储在工作表中的现有结果并粘贴新数据。如何将MS Access查询的结果导出到Excel的特定工作表

我试着写这个代码,但它不工作 -

Sub Test() 

    Dim xlApp As Excel.Application 
    Dim xlBook As Excel.Workbook 
    Dim xlQuery As String 
    Dim xlfile As String 


     strDate = Format(Date, "yymmdd") 

     Set xlApp = New Excel.Application 
     xlApp.Visible = True 
     'Open the Master Workbook Template 
     Set xlBook = xlApp.Workbooks.Open("C:\Testing\Template.xls", , False) 

     xlQuery = "qry_1" 
     xlfile = "C:\Testing\Template.xls" 

    DoCmd.OpenQuery "qry_1" 
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, xlQuery, xlfile, True, Worksheets("hello") 

Set xlApp = Nothing 
Set xlBook = Nothing 
    End Sub 

回答

0

所有你需要的是:

Dim xlQuery As String 
Dim xlfile As String 

xlQuery = "qry_1" 
xlfile = "C:\Testing\Template.xls" 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, xlQuery, xlfile, True, "hello$" 
+0

谢谢,但我得到错误的表“你好$”已经存在。其实我有一个Excel模板,我只是每次使用新的数据刷新这个模板。所以我有Excel文件,所有的标签已经被命名为“你好” – Indira

+0

这听起来像你试图导入工作表。工作簿中没有“表格”hello。 – Gustav

相关问题