Automation excel depuis Javascript

Résolu
ort01 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 11 mars 2012 - 9 août 2011 à 18:51
ort01 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 11 mars 2012 - 11 mars 2012 à 09:12
Bonjour à tous,

Je cherche à réaliser une automation excel depuis Javascript.
En gros ouvrir excel depuis une page web et passer une transaction sql par odbc).
La macro marche sans problème sous vba :
...
Worksheets(1).QueryTables.Add("ODBC;DBQ=C:...mdb;Driver={Driver do Microsoft Access (*.mdb)}", Range("A1")).CommandText = "SELECT * FROM DAT_FIC"
Worksheets(1).QueryTables.Add("ODBC;DBQ=C:...mdb.mdb;Driver={Driver do Microsoft Access (*.mdb)}", Worksheets(1).Range("A1"), "SELECT * FROM DAT_FIC").Refresh


Toutefois je bloque pour traduire cette macro sous javascript.
voici un début de code :

var xlApp = new ActiveXObject("Excel.Application");
xlApp.Visible = true;
xlApp.DisplayAlerts = false;
var xlBook = xlApp.Workbooks.Add();
xlBook.worksheets(1).activate;
var xlSheet = xlBook.activeSheet;
xlSheet.Range("A1").CurrentRegion.ClearContents;

xlSheet.QueryTables.Add("ODBC;DBQ=C:...mdb;Driver={Driver do Microsoft Access (*.mdb)}", xlSheet.Range("A1")).CommandText = "SELECT * FROM DAT_FIC"

xlSheet.QueryTables.Add("ODBC;DBQ=C:...mdb;Driver={Driver do Microsoft Access (*.mdb)}", xlSheet.Range("A1"), "SELECT * FROM DAT_FIC").Refresh



Par avance un grand merci à tous et pardon pour les erreurs car c'est mon 1er message.

3 réponses

ort01 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 11 mars 2012
11 mars 2012 à 09:12
Hello jephambl,

Désolé pour la réponse tardive.

Il appliquer l'exemple fonctionne il faut ajouter "()" après refresh :

.Refresh()

J'espère avoir pu t'aider.

Ps: Peut être connais-tu CollectGarbage() mais si ce n'est pas le cas place cette ligne pour terminer ta fonction Javascript.
3
ort01 Messages postés 3 Date d'inscription vendredi 20 janvier 2006 Statut Membre Dernière intervention 11 mars 2012
10 août 2011 à 16:26
Après de nombreux tests j'ai trouvé la réponse. Merci à ceux qui ont lu le post.
0
cs_jephambl Messages postés 1 Date d'inscription dimanche 15 novembre 2009 Statut Membre Dernière intervention 16 janvier 2012
16 janv. 2012 à 14:07
j'aimerai bien savoir comment tu as fait, car je me pose la meme question. Merci si tu peux la poster
0
Rejoignez-nous