OVH Cloud OVH Cloud

comment apres avoir lancé excel dans une appli vb le referer?

3 réponses
Avatar
jean pierre bassot
Bonjour à tous
J'ai une appli en VB 5
qui lance excel
Public Xls As Excel.Application
...
...
Set Xls = New Excel.Application

que je croyais refermer par un:
Set Xls = Nothing

mais je constate que malgré cela
quand mon appli se termine je vois dans le gestionnaire de tâche
un excel.exe que je suis obligé de tuer à la main

Donc comment une appli vb peut-elle refermer l'excel qu'elle a lancer?

merci d'avance.
--
J.P.B.

3 réponses

Avatar
YannX
Bnsr,

Avant de détruire instanciation,
il faut fermer l'applciation par
Xls.Quit !
Mais il reste un problème, déjà confirmé dans
d'autres messages : si tu ré-ouvres un Excel
dan sle programme VB......cela plante ! ! !

@+

"jean pierre bassot" a écrit dans le
message de news:
Bonjour à tous
J'ai une appli en VB 5
qui lance excel
Public Xls As Excel.Application
...
...
Set Xls = New Excel.Application

que je croyais refermer par un:
Set Xls = Nothing

mais je constate que malgré cela
quand mon appli se termine je vois dans le gestionnaire de tâche
un excel.exe que je suis obligé de tuer à la main

Donc comment une appli vb peut-elle refermer l'excel qu'elle a lancer?

merci d'avance.
--
J.P.B.



Avatar
LE TROLL
Salut, et comme ça :

Private Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long _
) As Long
'
Private Declare Function TerminateProcess Lib "kernel32" ( _
ByVal hProcess As Long, _
ByVal uExitCode As Long _
) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hObject As Long) As Long
'
Private Const PROCESS_TERMINATE = &H1
Dim NumProcess As Long
Dim RC As Long
Dim hProcess As Long
'
Sub ouvrir()
NumProcess = Shell(chemin & "excel.exe " & App.Path & "NomFic.xls", 1)
End sub

Sub fermer()
hProcess = OpenProcess(PROCESS_TERMINATE, -1&, NumProcess)
RC = TerminateProcess(hProcess, 0&)
RC = CloseHandle(hProcess)
End Sub
--------


"jean pierre bassot" a écrit dans le
message de news:
Bonjour à tous
J'ai une appli en VB 5
qui lance excel
Public Xls As Excel.Application
...
...
Set Xls = New Excel.Application

que je croyais refermer par un:
Set Xls = Nothing

mais je constate que malgré cela
quand mon appli se termine je vois dans le gestionnaire de tâche
un excel.exe que je suis obligé de tuer à la main

Donc comment une appli vb peut-elle refermer l'excel qu'elle a lancer?

merci d'avance.
--
J.P.B.



Avatar
jean pierre bassot
Merci à tous les deux pour vos réponses j'essaie de suite

--
J.P.B.