killer l'instance Excel.
Le
dopamind

bonjour,
je lance via Automation une instance Excel.
cependant a la fin de la macro, l'instance reste persistente en memoire et
le seul moyen de la 'killer'
est de lancer le gestionnaire de tache.
voici le code suivant :
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
Quit.xlapp
Set xlapp = nothing
Aurais je omis quelque chose ?
merci d'avance.
je lance via Automation une instance Excel.
cependant a la fin de la macro, l'instance reste persistente en memoire et
le seul moyen de la 'killer'
est de lancer le gestionnaire de tache.
voici le code suivant :
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
Quit.xlapp
Set xlapp = nothing
Aurais je omis quelque chose ?
merci d'avance.
xlapp.Quit
Salutations,
Daniel M.
mon code est bien "xlapp.Quit"
"Daniel.M" news: ua#
Starwing
Dim xlApp As Excel.Application
Dim myOlApp As outlook.Application
Dim Foldersource, Folderfinal As String
Foldersource = "debut"
Folderfinal = "fin"
Set myOlApp = CreateObject("Outlook.Application")
Set xlApp = CreateObject("Excel.Application")
Dim myItem As outlook.MailItem
Dim myFolder, final As outlook.MAPIFolder
Dim myFolders As outlook.Folders
Dim chorus As String
Set myFolder = myOlApp.GetNamespace("MAPI").Folders("Dossiers Publics")
Set myFolder = myFolder.Folders("Tous les dossiers publics")
Set myFolder = myFolder.Folders.Item(Foldersource)
Set final = myFolder.Folders.Item(1)
Set myItem = myFolder.Items(1)
chorus = myItem.Body
fundname = Mid(chorus, 26, 7)
Workbooks.OpenText FileName:=chorus, Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:úlse, Tab:úlse,
Semicolon:=True, _
Comma:úlse, Space:úlse, Other:úlse, FieldInfo:=Array(Array(1,
4), _
Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1),
Array(7, 1), Array(8, 1), _
Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1),
Array(14, 1), Array(15 _
, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1),
Array(20, 1), Array(21, 1), _
Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26,
1), Array(27, 1), Array( _
28, 1), Array(29, 1), Array(30, 1))
..............................
ActiveWorkbook.SaveAs FileName:="\TOTOchorus.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
xlApp.Quit
Set xlApp = Nothing
Set myOlApp = Nothing
End Sub
"Starwing" 0c9901c35b6a$42458860$
Envoie nous le code au complet pour t'aider...
Starwing
Il sert à quoi le XlApp ?
Alain CROS.
"dopamind"
Tu utilise la liaison précoce alors il est inutile de créer l'objet de cette
façon : Set xlApp = CreateObject("Excel.Application") mais plutôt de
celle-ci (je pense) : Set xlApp = New Excel.Application. Est ce Outlook qui
utilise Excel ? Il te faut peut être le détruire avant Excel de façon à ne
plus avoir de référence ????
Hervé.
"dopamind" 3f2fe3aa$0$27799$
Moi, je pense qu'Alain a mis le doigt sur le bobo.
Le code (tel qu'envoyé) démontre qu'on roule ce code à l'intérieur du VBA
d'Excel (puisqu'il y a des appels aux méthodes d'Excel sans préfixe:
Workbooks.OpenText et ActiveWorkbook.SaveAs ).
Il faut pas s'attendre à ce qu'Excel disparaisse si on ne fait que détruire
la nouvelle instance.
D'ailleurs, pourquoi une nouvelle instance du logiciel? Pourquoi ne pas
laisser tomber xlApp et invoquer un Application.Quit à la fin de la macro.
Salutations,
Daniel M.
j'ai essayé de mettre les prefixe objet devant les propriétés (range,...)
mais rien n'y change.
l'instance est toujours présente en mémoire.
"Daniel.M" news: