Salut,
Bienvenu.
Effectivement, y'a peu de chances pour que cela marche avec InStr.
Excel peut fonctionnner comme une table de base de données.
La chaine de connection est du genre:
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/chemin/fichier.xls;Extended Properties=Excel 8.0;"
Voici un exemple de code complet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| sub MyExcel()
Dim sConn, sConnString, rs
sConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/chemin/fichier.xls;Extended Properties=Excel 8.0;"
set sConn = server.createobject("ADODB.Connection")
set rs = server.CreateObject("ADODB.Recordset")
rs.CursorLocation = 3
rs.CursorType = 0
rs.LockType = 1
sConn.Open sConnString
on error resume next ' evite un plantage si le nom de la page est mauvais
rs.open "SELECT * FROM [MaFeuille$]", sConn
IF err.number = 0 THEN
Do while not rs.eof
rs.movenext
Loop
ELSE
response.Write("Error : " & err.description & "<br />")
response.Write(sConnString & "<br />")
response.Write("SELECT * FROM [MaFeuille$]<br />")
END IF
rs.close
set rs = nothing
set sConn = nothing
if err.number = 0 Then
response.Write("<script langage=javascript>alert('Operation succeeded.');</script>")
end if
end sub |
Pour Word c'est plus compliqué. Il faut que Office soit installé pour créer une instance de l'application qui va lire les fichiers.
C'est pour quel usage?
A+
Partager