View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jean-Yves[_2_] Jean-Yves[_2_] is offline
external usenet poster
 
Posts: 253
Default Programatically access Excel 2003 spreadsheet

Hello Edward,

ou can inddedd use Microsoft activeX Data Oject 2.x library ( ADO)

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim X As Integer,
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset

With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\MyWorkbook.xls;" & _
"Extended Properties=Excel 8.0;"
.Open
End With

rs.Open "Select * from [MyWorksheet$] ;", cn, adOpenDynamic, adLockReadOnly
'copy every thing
Range("A1").copyfromrecordset rs
'or get the column names
For x = 0 To rs.Fields.Count - 1
Debug.Print rs(x).Name
Next x

'write the data per line
x=0
do while rs.eof=false
range("A1").offset(x,0) = rs.fields("MyCol_Head").value
rs.MoveNext
x=x+1
loop


rs.close
cn.close
set rs=nothing
set cn=nothing

Regards
Jean-Yves

"Edward Diener" wrote in message
...
I remember in the past Microsoft distributing an Active library which would
allow a developer to access the various elements of an Excel spreadsheet. I
have Excel 2003 on my computer and yet I do not see such an ActiveX library
listed when I try to import such a library into Visual Studio .net. Does
such an ActiveX library still exist for Excel or, better yet, a .net
asssembly, which allows one to extract data from an Excel 2003 spreadsheet
?