bonjour a tous,
j'ai du code qui cree un objet OLE excel, puis s'amuse a remplir des cases et enfin ferme le fichier et libere l'objet.
Mais de temps en temps, le remplissge plante et ca declenche une exception, le soft sort de la methode et j'ai 2 soucis :

le premier le process Excel.exe est toujours existant (et verouille le fichier qui est ouvert)
l'objet existe toujours.


pour l'objet, je pense finir par trouve la solution en utilisant une variable globale pour pouvoir le desallouer.

Par contre comment trouver le Process Id du excel créé par mon OLE ?

Merci.

Le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
msexcel := createoleobject('Excel.Application');
msexcel.Visible := false;
fichier := msexcel.workbooks;
feuille := classeur.worksheets['Fiche à imprimer'];
...
feuille.range[xml.Root.ReadWidestring('armure','')].value := s;
...
msexcel.Calculation := xlCalculationAutomatic;
msexcel.CalculateBeforeSave := True;
classeur.save;
msexcel.quit;
msexcel := unassigned;
Le probleme se produit si ca genere une exception entre les "..." (je sais ca devrait pas générer d'exception, mais comme j'ai plus de 1000 lignes de feuille.range... j'ai pas trop envie de rajouter 5000 lignes de code...


Merci.