OVH Cloud OVH Cloud

processus excel résistant ....

18 réponses
Avatar
Pascal16
Bonjour,

je viens de cr=E9er une application Access qui avant de l'importer mets
en page un tableau excel.
pour ce faire j'utilise entre autres :
set XlApp=3DCreateObject("Excel.application")

et En fin de traitement, je code :
set xlApp=3DNothing.

malgr=E8s cette ligne, il me reste toujours une instance de Excel en
m=E9moire, et je dois tuer cette instance en faisant CTrl+Alt+Suppr afin
de tuer ce processus.

Pas tr=E8s pratique !!!!
Quelqu'un peut-il me venir en aide ?

Merci d'avance

pascal

8 réponses

1 2
Avatar
pascal16
En ce qui me concerne c'est beaucoup plus que quelques secondes ...
l'instance reste indéfiniment tant que je ne la tue pas par
CTRL+Alt+Suppr ...
Quelques secondes ne me posent aucun problème ...
Merci

pascal
Avatar
anonymousA
Essaie ca

les déclarattions des API sont à porter dans la section des déclarations
de ton module.valable pour Excel 2000

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA"
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal
lParam As Long) As Long
Private Const WM_CLOSE = &H10

Sub creExc()

Set appaccess = CreateObject("Excel.Application.9")
'ici tes instructions pour Excel

'dans ce qui suit la fermeture de l'instance en cours
hWnd = FindWindow(vbNullString, "Microsoft Excel")
If hWnd <> 0 Then Call PostMessage(hWnd, WM_CLOSE, 0, 0)

End Sub

A+

En ce qui me concerne c'est beaucoup plus que quelques secondes ...
l'instance reste indéfiniment tant que je ne la tue pas par
CTRL+Alt+Suppr ...
Quelques secondes ne me posent aucun problème ...
Merci

pascal



Avatar
LiR
Bonsoir à tous,

L'objet Excel.Application a une propriété Hwnd,
Ce qui donne directement :

Call PostMessage(appaccess.hWnd, WM_CLOSE, 0, 0)




Essaie ca

les déclarattions des API sont à porter dans la section des déclarations
de ton module.valable pour Excel 2000

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA"
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA"
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal
lParam As Long) As Long
Private Const WM_CLOSE = &H10

Sub creExc()

Set appaccess = CreateObject("Excel.Application.9")
'ici tes instructions pour Excel

'dans ce qui suit la fermeture de l'instance en cours
hWnd = FindWindow(vbNullString, "Microsoft Excel")
If hWnd <> 0 Then Call PostMessage(hWnd, WM_CLOSE, 0, 0)

End Sub

A+

En ce qui me concerne c'est beaucoup plus que quelques secondes ...
l'instance reste indéfiniment tant que je ne la tue pas par
CTRL+Alt+Suppr ...
Quelques secondes ne me posent aucun problème ...
Merci

pascal






Avatar
3stone
"Jessy Sempere [MVP]"


Hééeee Jessy !!!
Tu étais au Burkina Fasso et t'es revenu à pied ???

Content de te relire. Ca roule pour toi ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Jessy Sempere [MVP]
Salut m'sieur

Oh ben je dirais même que j'étais sur Mars...
Sinon oui ça roule mais j'avoue que je suis vraiment débordé, il faut que je
trouve du temps pour être encore ici... ;-)

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"3stone" a écrit dans le message de
news:

"Jessy Sempere [MVP]"


Hééeee Jessy !!!
Tu étais au Burkina Fasso et t'es revenu à pied ???

Content de te relire. Ca roule pour toi ?


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
anonymousA
Bonjour,

A ma connaissance, ceci n'est vrai qu'à partir d'Excel 2002

A+
Avatar
LiR
Il me semble que tu as raison et je n'avais pas fait attention que tu
utilisais Excel 2000.

Ca sera pour plus tard peut-être alors...


Bonjour,

A ma connaissance, ceci n'est vrai qu'à partir d'Excel 2002

A+




Avatar
pascal16
Merci à tous
J'ai mixer le message de anonymousA avec celui de LiR et ça fonctionne
à merveille.

A bientôt

Pascal
1 2