2008-12-17 103 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文件。