nikostaf
Messages postés35Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention 5 mai 2004
-
8 sept. 2003 à 10:43
cs_Nanto
Messages postés32Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention21 décembre 2009
-
8 sept. 2003 à 17:27
bonjour,
Ce que j'aimerais faire c'est lancer mon prog vb qu'il lance excel ,faire des aplli sous excel et qd j'en ait fini et que je quitte excel je me retrouve sous mon prog.si je met le .close ds la meme commande il va ouvrir l'excel puis le refermer de suite. voici mon code mais pour l'instant je peux ouvrir qu'une fois excel et vu que y a pas de .close y bug qd je réouvre.IL faut que j'arrete mon prog si je veux que ca remarche.
Public FichExcel As Excel.Application
Private Sub Command3_Click()
Dim blnRunning As Boolean
Dim fichier1 As String
On Error Resume Next
fichier1 = App.Path & "\translohr.xls"
'ouvrir le fichier excel selectionner
Set FichExcel = GetObject(, "Excel.Application")
If Err.Number <> 0 Then
Set FichExcel = CreateObject("Excel.Application")
blnRunning = False
Else
blnRunning = True
End If
'et FichExcel = CreateObject("Excel.Application")
FichExcel.Visible = True
Workbooks.Open FileName:=fichier1, Editable:=True
cs_Nanto
Messages postés32Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention21 décembre 2009 8 sept. 2003 à 13:08
Nanto
Salut,
ce que tu fais, c'est que tu ouvres Excel à l'ouverture de ton appli (form_load ou sub_main), et que tu fais toutes les manip dedans, puis tu le fermes lorsque tu ressorts de ton appli.
en clair tu le laisses tourner en tâche de fond.
penses simplement à relacher tes objets lorsque tu n'as plus besoin de Excel en faisant :
set objexcel = nothing
car si tu sors sans le faire, il reste des instances d'excel qui sont en mémoire (visible dans la gestion des processus sous w2000 ou XP).
nikostaf
Messages postés35Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention 5 mai 2004 8 sept. 2003 à 15:53
J'ai essayé ce que tu m'as dis je lance excel depuis mon vb et ensuite je ferme l'appli excel avec un command boutton,tout se ferme mais y reste tj en tache de fond (pocessus) et c'est seulement qd je ferme mon prog qu'excel s'arrete totalement.Si tu as une idée,perso j'ai boà essyer des trucs.merci c cool
cs_Nanto
Messages postés32Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention21 décembre 2009 8 sept. 2003 à 17:25
Nanto
au form_load tu fais :
set oExcel = CreateObject("excel.application")
ensuite tu travailles avec tes classeurs, tu les ouvres, tu les fermes,...
au form_unload tu fais :
oExcel.quit
puis
set oExcel = nothing <== cela te permet de relacher le handle sur l'objet Excel qui était chargé en mémoire. Donc ca vide ton appli excel de la mémoire.
cs_Nanto
Messages postés32Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention21 décembre 2009 8 sept. 2003 à 17:27
Nanto
juste un oubli, n'oublie pas de déclarer ta varible oExcel en tant que variable globale si tu en as besoin dans toute ton appli, ou dans ton module/form au cas où, pour que tu utilises tout le temps la même variable.