关于EXCEL宏利用ADO读取其他未打开工作薄产生的问题

zxx8215484 2016-07-14 08:14:10
想利用ADO的recordset读取其他未打开的工作薄(2015考核.xls的表‘12月’)的数据,但是运行时出现了“运行时鑵‘3001’:应用程序定义或对象定义错误”,原程序如下:
Sub test()
Dim conn, SQL$, rst
Set conn = CreateObject("adodb.connection")
Set rst = CreateObject("adodb.recordset")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties='excel 8.0;hdr=yes;imex=1';data source=" & ThisWorkbook.Path & "\2015考核.xls"
SQL = "select * from [12月$A1:X6]"
‘ [a1].CopyFromRecordset conn.Execute(SQL)
rst.Open SQL, cnn
For i = 1 To rst.RecordCount
For j = 0 To rst.fields.Count - 1
Cells(i, j + 1) = rst.fields(j)
Next
rst.movenext
Next
conn.Close
rst.Close
Set rst = Nothing
Set conn = Nothing
End Sub
未定义recordset时,用[a1].CopyFromRecordset conn.Execute(SQL)命令读取数据是可以的,错误可能出现在rst.Open SQL, cnn,请大家帮忙分析一下是什么情况
...全文
961 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧