2008-12-17 100 views
0

我尝试使用下面的代码来访问导出表到excel出口访问表到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 

回答

1

的DoCmd如不支持属性或方法在“DoCmd.TransferSpreadsheet”中是MS Access命令,而不是excel命令。我认为这是你的问题。

如果VBA被MS访问内部运行那么就称其为

DoCmd.TransferSpreadsheet 

objexcel.DoCmd.TransferSpreadsheet 

而且,如果这是你在做什么,你也不需要使用Execl Automation手动创建一个Excel文件,Access将为您做到这一点。

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

+0

thankx删除了错误,但现在我得到错误3011喷气数据库找不到表名称。我检查了一下,发现桌子上有 – tksy 2008-12-17 14:14:17

0

这个answer与Excel对象一起工作,可以是有帮助的,因为它允许您自动格式化Excel文件。