[OLE Automation] Prbl avec VB utilisant Excel 95 (avec 97-XP c bon)

Prbl avec VB utilisant Excel 95 (avec 97-XP c bon) [OLE Automation] - VB/VBA/VBS - Programmation

Marsh Posté le 22-05-2002 à 09:50:47    

Salut :)
 
J'ai un vilain petit souci avec Excel 95 et Visual Basic. J'ai fais un programme qui récupère des infos de plusieurs BD Access et qui les recrache dans une feuille Excel. Mon problème est que ici (au boulot) je ne dispose que de Excel 95 et non du 97 ou plus.
 
Avec Excel 97, pour déclarer un objet utilisant Excel, je fais :
Public xlApp As Excel.Application (dans les variabes globales)
Set xlApp = New Excel.Application (dans une fonction)
 
Avec Excel 95, je ne peux pas utiliser la meme syntaxe, donc ca donne :
Public xlApp As Excel.Application (dans les variabes globales)
Set xlApp = Excel.Application (dans une fonction)
 
Mon problème est le suivant (et ne se manifeste que avec Excel 95, avec 97 ou + ca marche très bien) : une fois que mon programme a fini le traitement (création du fichier Excel), il ferme Excel par un xlApp.Quit. Jusque là ca marche. Là où ca se complique, c'est si je veux relancer une seconde fois le traitement (sans quitter le programme), il n'y arrive plus. Il ne parvient plus à créer une nouvelle instance d'application Excel... Pourquoi un tel prbl avec Excel 95, et surtout comment s'en débarrasser ??
 
merci d'avance ! :)

Reply

Marsh Posté le 22-05-2002 à 09:50:47   

Reply

Marsh Posté le 22-05-2002 à 12:29:15    

petit up du midi :)
 
faudrait vraiment que j'ai une solution... ou au pire est ce que c possible de relancer l'application très rapidement sans que ca gène l'utilisateur ?

Reply

Marsh Posté le 22-05-2002 à 13:49:41    

ce n'est pas possible a partir de VB de relancer un programme ?

Reply

Marsh Posté le 22-05-2002 à 20:59:23    

allé, une dernière tentative de up désespérée ;)

Reply

Marsh Posté le 23-05-2002 à 08:43:20    

Jerome a écrit a écrit :

allé, une dernière tentative de up désespérée ;)  




 
si plutot que de faire xlsapp.quit, tu fais un truc du genre:
xlsapp = nothing
qu'est ce que ca donne?

Reply

Marsh Posté le 24-05-2002 à 16:05:05    

je fais déjà  
Set xlApp = Nothing
 
mais a partir du moment ou je ne mets plus le Quit ensuite Excel tourne en tache de fond et on ne peut plus le lancer sans le killer à la main...
 
tu crois que je devrais faire  
xlApp = Nothing à la place de Set xlApp = Nothing ?
 
en tout cas merci de ta réponse :)

Reply

Marsh Posté le 24-05-2002 à 16:09:53    

je viens d'essayer avec ta syntaxe. ca marche mais comme je le craignais Excel continue de tourner en tache de fond... c pas trop génant mais c pas super propre ;)

Reply

Marsh Posté le 28-05-2002 à 13:47:16    

ayant trouvé la solution, je me répond à moi-même, peut être que ca aidera qqun un de ces jours ;)
 
à la place de :
Set xlApp = Excel.Application
il faut mettre :
Set xlApp = CreateObject("Excel.Application" )
 
voilà :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed