J?ai un problème Delphi-Excel [Résolu]

Messages postés
6
Date d'inscription
dimanche 16 janvier 2005
Dernière intervention
21 octobre 2008
- 20 oct. 2008 à 09:07 - Dernière réponse :
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 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
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
265
Date d'inscription
dimanche 7 décembre 2003
Dernière intervention
11 novembre 2016
- 20 oct. 2008 à 10:29
3
Merci
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

Merci fbalien 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de fbalien
Meilleure réponse
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 21 oct. 2008 à 09:25
3
Merci
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

Merci cs_cantador 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_cantador
Messages postés
6
Date d'inscription
dimanche 16 janvier 2005
Dernière intervention
21 octobre 2008
- 20 oct. 2008 à 11:17
0
Merci
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
Commenter la réponse de cs_nesr
Messages postés
6
Date d'inscription
dimanche 16 janvier 2005
Dernière intervention
21 octobre 2008
- 21 oct. 2008 à 13:53
0
Merci
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
Commenter la réponse de cs_nesr
Messages postés
2
Date d'inscription
samedi 28 mai 2005
Dernière intervention
7 décembre 2011
- 7 déc. 2011 à 09:32
0
Merci
Salut , comment faire la programmation d'execel sous delphi 7 sur tout faire un tableau ,mise en forme , ..ect sous delphi
Commenter la réponse de oudjedi
Messages postés
2
Date d'inscription
samedi 28 mai 2005
Dernière intervention
7 décembre 2011
- 7 déc. 2011 à 09:33
0
Merci
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
Commenter la réponse de oudjedi
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Dernière intervention
27 mars 2018
- 7 déc. 2011 à 12:28
0
Merci
@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
Commenter la réponse de cs_cantador

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.