将访问表导出为ex​​cel

时间:2008-12-17 13:43:30

标签: ms-access vba export

我正在尝试使用以下代码从访问excel

中导出表格

我收到的错误对象最后不支持属性或方法

 Set objexcel = New Excel.Application
   objexcel.Visible = True

   If Dir("C:\reports\Data_Analysis1.xls") = "" Then
   objexcel.Workbooks.Add
   Set wbexcel = objexcel.ActiveWorkbook
   Set objSht = wbexcel.Worksheets("Sheet1")
   Else
   Set wbexcel = objexcel.Workbooks.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\reports\ERROR REPORT4.xls")
   Set objSht = wbexcel.Worksheets("Sheet1")
   End If

   objSht.Activate


   objexcel.DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "UTYP_Anzahl", "C:\Reports\Data_Analysis1.xls", True

2 个答案:

答案 0 :(得分:1)

“DoCmd.TransferSpreadsheet”中的DoCmd是MS Access命令,而不是excel命令。我认为这是你的问题。

如果此VBA在MS Access中运行,则只需将其称为

DoCmd.TransferSpreadsheet

objexcel.DoCmd.TransferSpreadsheet

此外,如果您正在进行此操作,则无需使用Execl Automation手动创建Excel文件,Access将为您执行此操作。

道歉,如果我误解了你在做什么,但我认为你需要的只是TransferSpreadSheet命令。

答案 1 :(得分:0)

answer适用于Excel对象,可以提供帮助,因为它允许您自动格式化Excel文件。