Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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
使用ado从关闭的工作簿检索excel数据_Excel_Vba - Fatal编程技术网

使用ado从关闭的工作簿检索excel数据

使用ado从关闭的工作簿检索excel数据,excel,vba,Excel,Vba,我使用以下宏从关闭的工作簿中检索数据。为什么debug.print会将数据返回到imediate窗口,但数据不会复制到工作表,也不会使用语句,ActiveSheet.Cells(1,1).CopyFromRecordset objrecordset![名称]&“&objrecordset!”![Number],也不带语句,ActiveSheet.Cells(1,1).CopyFromRecordset objrecordset sub adoExcel() Set objConnection

我使用以下宏从关闭的工作簿中检索数据。为什么debug.print会将数据返回到imediate窗口,但数据不会复制到工作表,也不会使用语句,
ActiveSheet.Cells(1,1).CopyFromRecordset objrecordset![名称]&“&objrecordset!”![Number]
,也不带语句,
ActiveSheet.Cells(1,1).CopyFromRecordset objrecordset

sub adoExcel()

Set objConnection = CreateObject("ADODB.Connection")
Set objrecordset = CreateObject("ADODB.Recordset")

'*************************************************************************************
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Users\sp\Desktop\test ado excel\test.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"
'*************************************************************************************

objrecordset.Open "Select * FROM [Sheet1$]", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText

'*************************************************************************************
' Loop through the recordset and send data to the Immediate Window

objrecordset.MoveFirst

Do
    Debug.Print objrecordset![Name] & " " & objrecordset![Number]
    objrecordset.MoveNext
Loop Until objrecordset.EOF

'**************************************************************************************
ActiveSheet.Cells(1, 1).CopyFromRecordset objrecordset![Name] & " " & objrecordset!            [Number]
'**************************************************************************************

当您试图
CopyFromRecordset
时,您已经处于文件末尾(EOF),因此没有数据可复制。在循环之前,将
CopyFromRecordset
语句移动到代码的前面

此方法的参数是记录集对象:

.CopyFromRecordset objrecordset