Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 将access表导出到excel_Ms Access_Vba_Export - Fatal编程技术网

Ms access 将access表导出到excel

Ms access 将access表导出到excel,ms-access,vba,export,Ms Access,Vba,Export,我正在尝试使用以下代码将表从access导出到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 =

我正在尝试使用以下代码将表从access导出到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
“DoCmd.TransferSpreadsheet”中的DoCmd是MS Access命令,而不是excel命令。我想这是你的问题

如果此VBA在MS Access中运行,请将其称为

DoCmd.TransferSpreadsheet
不是

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


如果我误解了您正在做的事情,我深表歉意,但我认为您所需要的只是TransferSpreadSheet命令。

此命令适用于Excel对象,可能会有所帮助,因为它允许您自动格式化Excel文件

感谢您删除了这个错误,但现在我收到了错误3011,jet数据库找不到表名。我检查了一下,看到桌子在那里。既然它回答了张贴的问题,那么把这个答案标记为正确的怎么样?另外,你能提供更多细节吗。MS Access的哪个版本?您是在access中运行VB脚本,还是在外部运行并使用自动化?谢谢,我用的是access 2002,我用的是access中的vb,我能想到的唯一一件事是,你在没有打开数据库的情况下运行。老实说,我从未见过这种错误。试着发布另一个问题,专门针对那个问题。同时,将问题尽可能小地隔离到一个函数中,并发布该函数的源代码。是否尝试导出到其他文件名,即不存在的文件名,例如“C:\Reports\Test.xls”?
objexcel.DoCmd.TransferSpreadsheet