0

我正在尝试使用以下代码将表从访问导出到 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
4

2 回答 2

1

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

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

DoCmd.TransferSpreadsheet

不是

objexcel.DoCmd.TransferSpreadsheet

此外,如果您正在这样做,则无需使用 Execl Automation 手动创建 excel 文件,Access 将为您完成。

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

于 2008-12-17T13:53:24.280 回答
0

答案适用于 Excel 对象并且可能会有所帮助,因为它允许您自动格式化 Excel 文件。

于 2008-12-18T11:14:17.453 回答