如何从访问excel文件写入数据

我正在尝试使用以下代码将数据写入Excel文件

Dim objexcel As Excel.Application Dim wbexcel As Excel.Workbook Dim wbExists As Boolean Set objexcel = CreateObject("excel.Application") objexcel.Visible = True On Error GoTo Openwb wbExists = False Set wbexcel = objexcel.Documents.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls") wbExists = True Openwb: On Error GoTo 0 If Not wbExists Then Set wbexcel = objexcel.Workbook.Add End If 

但我得到一个运行时错误对象不支持行中的属性或方法

 Set wbexcel = objexcel.Workbook.Add 

我已经引用了excel对象库。

你将需要改变这一行:

  Set wbexcel = objexcel.WorkBooks.Open( _ "C:\Documents and Settings\TAYYAPP\Desktop\test folder\ERROR REPORT2.xls") 

注意工作簿,而不是文档

至于这一行设置wbexcel = objexcel.Workbook.Add,wbexcel被定义为一个工作簿,但行是一个动作,所以:

 objexcel.Workbooks.Add Set wbexcel = objexcel.ActiveWorkbook 

编辑:顺便说一句,DoCmd.Transferspreadsheet可能是最简单的方式从Access到Excel传输一组数据(查询,表)。

我有这个代码工作正常

 Dim objexcel As Excel.Application Dim wbexcel As Excel.Workbook Dim wbExists As Boolean Dim objSht As Excel.Worksheet Dim objRange As Excel.Range Set objexcel = CreateObject("excel.Application") objexcel.Visible = True On Error GoTo Openwb wbExists = False Set wbexcel = objexcel.Workbooks.Open("C:\Documents and Settings\TAYYAPP\Desktop\test folder\reports\ERROR REPORT2.xls") Set objSht = wbexcel.Worksheets("Sheet1") objSht.Activate wbExists = True Openwb: On Error GoTo 0 If Not wbExists Then objexcel.Workbooks.Add Set wbexcel = objexcel.ActiveWorkbook Set objSht = wbexcel.Worksheets("Sheet1") End If 

但我想再添加一个检查,如果该文件存在,那么我想看看它是否填充了值,如果是这样,那么我希望从最后填充下一组值。 到目前为止,它正在覆盖现有的价值观