我有一个名为“SomeFile.xlsx”的工作簿我需要连接到此工作表并从工作表中提取一系列数据。我试图使用ADO连接但没有成功。我有以下代码:
Sub ExtractData()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim PathName As String
Dim PathRange As String
PathRange = "SELECT * FROM [AddConvert$D4:D10];"
PathName = "C:\path\myFile.xlsx"
Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.ACE.OLEDB.12.0 "
.ConnectionString = "Data Source=" & PathName & ";Extended Properties=Excel 12.0;"
.CursorLocation = adUseClient
.Open
End With 'Works fine up to here
Set rs = cnn.Execute(PathRange) 'Dies here
End Sub
据我所知,一切正常。我把手表放在cnn
上并在最后一行休息。 cnn
看起来不错。 HOwever,它一直说它无法找到AddConvert工作表并获取数据。我不明白为什么它找不到它或发生了什么。
答案 0 :(得分:2)
您应该将Excel 12.0用于.xlsx文件。例如:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;
Extended Properties="Excel 12.0 Xml;HDR=YES";