2013-07-16 2 views
2

"SomeFile.xlsx"라는 통합 문서가 있습니다.이 시트에 연결하고 워크 시트에서 다양한 데이터를 추출해야합니다. 나는 성공없이 ADO를 사용하여 연결하려고합니다. 나는 다음과 같은 코드를 가지고있다 :ADO를 사용하여 닫힌 Excel 시트에서 데이터 선택

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가 좋아 보인다. 그러나 AddConvert 워크 시트를 찾지 못하고 데이터를 가져올 수 없다는 말은 계속됩니다. 나는 그것이 그것을 발견 할 수 없거나 일어나는 일을 이해하지 못한다.

답변

2

.xlsx 파일에는 Excel 12.0을 사용해야합니다. 예 :

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx; 
    Extended Properties="Excel 12.0 Xml;HDR=YES"; 

+0

죄송합니다 connectionstrings에서, 나는 그것을 잡아서을 변경, 그것은 여전히 ​​오류를 제공합니다. : –

+0

오! 오타되었습니다! 감사합니다. –

+1

"Xml";)을 잊었습니까? 다행 이군. –

관련 문제