몇 가지 (매우 심각한) 제한 사항으로 인해 Jet (즉, 표준 Windows 구성 요소 인 오래된 버전의 Access 데이터베이스 엔진)을 사용하여 최소한 XLS 파일을 읽을 수 있습니다. 제한 사항은 여기를 참조하십시오.
http://support.microsoft.com/kb/257819/en-gb
예를 들어 ...
Function ReadCell(XLSFileName As String, SheetName As String, CellName As String)
Dim DB As DAO.Database, RS As DAO.Recordset
Set DB = DBEngine.OpenDatabase(XLSFileName, False, True, "Excel 8.0;HDR=No;")
Set RS = DB.OpenRecordset("SELECT * FROM [" + SheetName + "$" + CellName + ":" + CellName "]")
ReadCell = RS(0)
RS.Close
DB.Close
End Function
Sub Foo
MsgBox ReadCell("C:\Users\ExeBat\Documents\Test.xls", "Summary Details", "C5")
End Sub
-------------------제 생각에는 일종의 타사 라이브러리가없는 것이 아닙니다. Office open XML로 저장된 경우 파일을 텍스트로 읽을 수 있습니다. 내 생각에 MS는 기본적으로 표준 xls / xlsx 파일을 암호화 / 난독 화하므로 그렇게 할 수 없습니다. 모든 경우에 사용자 컴퓨터에서 Excel을 사용할 수없는 경우 원본 데이터를 다른 형식 (텍스트, csv 등)으로 만들어야 할 수도 있지만 이것이 이상적인 대답이 아닐 수도 있습니다.
출처
https://stackoverflow.com/questions/22079848