Bonjour à tous
J'ai fait un petit utilitaire afin de convertir des fichiers Excel en CSV. J'ai consulté la FAQ, et ca donne ceci :
Tout fonctionne bien. Mais mon soucis est que j'ai environ 300 - 400 fichiers a traiter en même temps, donc ce code est utilisé dans une boucle. Mes fichiers sont bien convertit en CSV, mais je me retrouve avec 300 - 400 instances d'Excel ouvertes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 try vMSExcel := GetActiveOleObject('Excel.Application'); except vMSExcel := CreateOleObject('Excel.Application'); vMSExcel.Visible := true; end; vXLWorkbooks := vMSExcel.Workbooks; vXLWorkbook := vXLWorkbooks.Open(slFile[i]); sFileDest := ExtractFilePath(ParamStr(0)) + 'CSV\' + ChangeFileExt(ExtractFileName(slFile[i]), '.'); if FileExists(sFileDest) then DeleteFile(sFileDest); vXLWorkbook.SaveAs(sFileDest, xlText, false);.
J'ai donc rajouter ceci :
et ca ferme bien Excel. Sauf que Excel réagit comme il se doit, a savoir que comme le fichier est en CSV, il me demande si je veux l'enregistrer pour le sauvegarder au format XLS (Voulez vous enregistrez les modification apportées ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 vMSExcel.Quit; vMSExcel := unassigned;
Est ce que je peux empécher la demande d'enregistrement autrement que par le réenregistrer en XLS après l'enregistrement en CSV ?
Merci d'avance
Birdyz
Partager