J?ai un problème Delphi-Excel

Résolu
cs_nesr Messages postés 6 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 21 octobre 2008 - 20 oct. 2008 à 09:07
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 7 déc. 2011 à 12:28
Bonjour à tous , j’ai un problème



Jai fait une application en DELPHI7 qui ouvre un fichier Excel existant, et permet de faire des recherches-modifications et ajout de nouvelle données à ma base, seulement le problème c’est que, les changements que j’apporte je ne les retrouves pas dans le classeur Excel (pas de sauvegarde) je retrouve les données initiales ?



Et puis quand je veux exécuter (vXLWorkbook.Save; vMSExcel.Quit;)  j’ai le message d’erreur suivant : « le projet a provoqué une classe d’exception Evariantinvalideoperror avec le message d’opération de variant incorrecte’, processus stoppé. Utilisez pas à pas ou exécuter pour continuer. »




 y’a-t-il quelqu’un qui puisse m’aider s’il vous plait ?







Nes

7 réponses

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
20 oct. 2008 à 10:29
Bonjour

comment initialisez vous votre variable ?
perso je fait comme ceci

Var
  RH : variant;

begin
  RH := CreateOLEObject('Excel.application');
  RH.Visible:= False;
  RH.workbooks.open(strNomfichierSource);
  .... modif des cellules

  RH.Workbooks[nomfichier].save;
  RH.quit;
  RH := unassigned;
end;

si çà peut vous aidez
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
21 oct. 2008 à 09:25
Bonjour,
dans votre procédure :procedure TForm1.Quiter1Click(Sender: TObject);<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

var vXLWorkbooks, vXLWorkbook : variant;

    vMSExcel : variant;

vos variables sont locales alors que vous les avez déjà définies globalement..
elles ne sont donc pas renseignées..

il faut donc les supprimer.

cantador
3
cs_nesr Messages postés 6 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 21 octobre 2008
20 oct. 2008 à 11:17
Voilà ce que j’ai fait<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>







var








    vXLWorkbooks, vXLWorkbook : variant;








    vMSExcel : variant;








   
vFileName : AnsiString;




 







Dans le source projet  j’ai mis :








 






try








   vMSExcel := GetActiveOleObject('Excel.Application');








  except








    vMSExcel := CreateOleObject('Excel.Application');








  end;








  vMSExcel.Visible := true;








  vFileName := 'D:\LAID3\ISOR''08 appl\ISOR''08 appl REV2\baseISOR08.xls';








  vXLWorkbooks := vMSExcel.Workbooks;








  vXLWorkbook := vXLWorkbooks.Open(vFileName); 








 








et dans la unit1 dans le menu quiter j’ai mis:








procedure TForm1.Quiter1Click(Sender: TObject);







var vXLWorkbooks, vXLWorkbook : variant;








    vMSExcel : variant;







begin








  vXLWorkbook.Save;








  vXLWorkbook.Close;








  vMSExcel.Quit;








  vMSExcel := unassigned;







  if messagedlg('Voulez-vous quitter?',mtinformation,[mbyes,mbno],0)=mryes then    application.Terminate;



end;







Nes
0
cs_nesr Messages postés 6 Date d'inscription dimanche 16 janvier 2005 Statut Membre Dernière intervention 21 octobre 2008
21 oct. 2008 à 13:53
Je viens de corriger mon programme d’après vos recommandations (cantador et fbalien), et je vous remercie pour vos réponses, seulement j’ai maintenant un autre problème, après fermeture de l’application je ne peux plus ouvrir le fichier Excel en mode lecture écriture, j’ai un message qui dit que «  le fichier est verrouillé pour modification » comment faire pour pouvoir y accéder en mode lecture –écriture pour effectuer des modifications?



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





Salutations







Nes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oudjedi Messages postés 2 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 7 décembre 2011
7 déc. 2011 à 09:32
Salut , comment faire la programmation d'execel sous delphi 7 sur tout faire un tableau ,mise en forme , ..ect sous delphi
0
oudjedi Messages postés 2 Date d'inscription samedi 28 mai 2005 Statut Membre Dernière intervention 7 décembre 2011
7 déc. 2011 à 09:33
Salut , comment faire la programmation d'execel sous delphi 7 sur tout faire un tableau ,mise en forme , ..ect sous delphi
oud_nab@yahoo.fr
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 déc. 2011 à 12:28
@oudjedi :

merci de faire un autre post pour cette question qui par ailleurs
a déjà été traitée ici ou là..

il suffit de chercher sur le site ou sur internet.

Mots clés : delphi + EXCEL + OLE

cantador
0
Rejoignez-nous