begin process at 2010 02 10 11:11:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Problème avec Excel (ole)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec Excel (ole)

mercredi 2 avril 2003 à 11:48:53 | Problème avec Excel (ole)

FeuilleMorte

J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
Mon code pour acceder a Excel est le suivant :
1)var
2) v_ex : variant;
3)begin
4) v_ex := createOleObject('Excel.Application');
5) v_ex.workbooks.open('c:\test\test.xls');
6) ...
7)end;

Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".

Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.

J'attend vos suggestions car la je commence vraiment à desesperer.

Merci d'avance.

FeuilleMorte
mercredi 2 avril 2003 à 13:56:01 | Re : Problème avec Excel (ole)

RMD

Bonjour,
As-tu testé sur un autre PC ?
Cela vient peut-être de ton excel.

Sinon, je ne voie pas pourquoi ton code plante...

RMD

www.Logiciels-RMD.com


-------------------------------
Réponse au message :
-------------------------------

> J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
> J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
> Mon code pour acceder a Excel est le suivant :
> 1)var
> 2) v_ex : variant;
> 3)begin
> 4) v_ex := createOleObject('Excel.Application');
> 5) v_ex.workbooks.open('c:\test\test.xls');
> 6) ...
> 7)end;
>
> Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
> Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".
>
> Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.
>
> J'attend vos suggestions car la je commence vraiment à desesperer.
>
> Merci d'avance.
>
> FeuilleMorte
mercredi 2 avril 2003 à 18:05:07 | Re : Problème avec Excel (ole)

FeuilleMorte

Tout d'abord merci d'avoir répondu aussi rapidement.

Mon programme reagi de la meme maniere sur les autres postes et meme avec d'autre version d'Excel. Cependant si je prend mon code et que je l'insert dans un nouveau projet cela fonctionne!!! Je peux toujours opter pour cette solution. Cependant j'aimerai concerver un seul et meme projet pour tous mes modules, mais apparament ca va pas etre possible...

En esperant avoir la solution miracle prochainement,

je vous salut

FeuilleMorte


-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
> As-tu testé sur un autre PC ?
> Cela vient peut-être de ton excel.
>
> Sinon, je ne voie pas pourquoi ton code plante...
>
> RMD
>
> www.Logiciels-RMD.com
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
> > J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
> > Mon code pour acceder a Excel est le suivant :
> > 1)var
> > 2) v_ex : variant;
> > 3)begin
> > 4) v_ex := createOleObject('Excel.Application');
> > 5) v_ex.workbooks.open('c:\test\test.xls');
> > 6) ...
> > 7)end;
> >
> > Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
> > Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".
> >
> > Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.
> >
> > J'attend vos suggestions car la je commence vraiment à desesperer.
> >
> > Merci d'avance.
> >
> > FeuilleMorte
>
mercredi 2 avril 2003 à 18:35:10 | Re : Problème avec Excel (ole)

RMD

Utilises-tu un variant avant cet appel ?
Peut-être as-tu oublié un Quit avant de redemander un CreateOleObject ?

RMD

www.Logiciels-RMD.com


-------------------------------
Réponse au message :
-------------------------------

> Tout d'abord merci d'avoir répondu aussi rapidement.
>
> Mon programme reagi de la meme maniere sur les autres postes et meme avec d'autre version d'Excel. Cependant si je prend mon code et que je l'insert dans un nouveau projet cela fonctionne!!! Je peux toujours opter pour cette solution. Cependant j'aimerai concerver un seul et meme projet pour tous mes modules, mais apparament ca va pas etre possible...
>
> En esperant avoir la solution miracle prochainement,
>
> je vous salut
>
> FeuilleMorte
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> > As-tu testé sur un autre PC ?
> > Cela vient peut-être de ton excel.
> >
> > Sinon, je ne voie pas pourquoi ton code plante...
> >
> > RMD
> >
> > www.Logiciels-RMD.com
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
> > > J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
> > > Mon code pour acceder a Excel est le suivant :
> > > 1)var
> > > 2) v_ex : variant;
> > > 3)begin
> > > 4) v_ex := createOleObject('Excel.Application');
> > > 5) v_ex.workbooks.open('c:\test\test.xls');
> > > 6) ...
> > > 7)end;
> > >
> > > Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
> > > Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".
> > >
> > > Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.
> > >
> > > J'attend vos suggestions car la je commence vraiment à desesperer.
> > >
> > > Merci d'avance.
> > >
> > > FeuilleMorte
> >
>
jeudi 3 avril 2003 à 03:33:01 | Re : Problème avec Excel (ole)

stailer


Va voir sur http://www.developpez.com
Tu as 2 tutos sur l'accés à Word et Excel par OLE vraiments tops.

<-- St@iLeR -->


-------------------------------
Réponse au message :
-------------------------------

> Utilises-tu un variant avant cet appel ?
> Peut-être as-tu oublié un Quit avant de redemander un CreateOleObject ?
>
> RMD
>
> www.Logiciels-RMD.com
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Tout d'abord merci d'avoir répondu aussi rapidement.
> >
> > Mon programme reagi de la meme maniere sur les autres postes et meme avec d'autre version d'Excel. Cependant si je prend mon code et que je l'insert dans un nouveau projet cela fonctionne!!! Je peux toujours opter pour cette solution. Cependant j'aimerai concerver un seul et meme projet pour tous mes modules, mais apparament ca va pas etre possible...
> >
> > En esperant avoir la solution miracle prochainement,
> >
> > je vous salut
> >
> > FeuilleMorte
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > > As-tu testé sur un autre PC ?
> > > Cela vient peut-être de ton excel.
> > >
> > > Sinon, je ne voie pas pourquoi ton code plante...
> > >
> > > RMD
> > >
> > > www.Logiciels-RMD.com
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
> > > > J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
> > > > Mon code pour acceder a Excel est le suivant :
> > > > 1)var
> > > > 2) v_ex : variant;
> > > > 3)begin
> > > > 4) v_ex := createOleObject('Excel.Application');
> > > > 5) v_ex.workbooks.open('c:\test\test.xls');
> > > > 6) ...
> > > > 7)end;
> > > >
> > > > Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
> > > > Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".
> > > >
> > > > Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.
> > > >
> > > > J'attend vos suggestions car la je commence vraiment à desesperer.
> > > >
> > > > Merci d'avance.
> > > >
> > > > FeuilleMorte
> > >
> >
>
jeudi 3 avril 2003 à 09:47:00 | Re : Problème avec Excel (ole)

FeuilleMorte

non RDM je n'utilise pas de variant avant le code présent dans mon premier message, et si je fait un variant.quit j'ai également un message d'erreur (normal je pense vu que je n'ai pas reussi a le lancer).

Même avec GetActiveOleObject('Excel.Application'); j'ai le message d'erreur par rapport a CoInitialize.


St@iLeR j'avais deja regarde sur developper.com ou il y a une autre methode pour appeler excel mais elle a ete sans succes (je ne l'ai pas retrouvee sur le site aujourd'hui). Ce que je ne comprend pas c'est qu'avant mon code fonctionnait tres bien mais depuis certaines modifications (qui n'ont rien d'exceptionnel) cette fiche plante. Sur ma fiche j'ai uniquement 2 TDatetimPicker et 2 boutons. Je ne fait aucun traitement avant mon appel au variant (a part l'initialisation de mes dates)

Mon problème est survenu lorsque j'étais encore sous Delphi 5 et le passage a Delphi 6 n'a rien changé (je ne pense pas passer à Delphi 7 pour l'instant).

Je croise quand meme encore les doigts, on ne sait jamais.

FeuilleMorte


-------------------------------
Réponse au message :
-------------------------------

>
> Va voir sur http://www.developpez.com
> Tu as 2 tutos sur l'accés à Word et Excel par OLE vraiments tops.
>
> <-- St@iLeR -->
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Utilises-tu un variant avant cet appel ?
> > Peut-être as-tu oublié un Quit avant de redemander un CreateOleObject ?
> >
> > RMD
> >
> > www.Logiciels-RMD.com
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Tout d'abord merci d'avoir répondu aussi rapidement.
> > >
> > > Mon programme reagi de la meme maniere sur les autres postes et meme avec d'autre version d'Excel. Cependant si je prend mon code et que je l'insert dans un nouveau projet cela fonctionne!!! Je peux toujours opter pour cette solution. Cependant j'aimerai concerver un seul et meme projet pour tous mes modules, mais apparament ca va pas etre possible...
> > >
> > > En esperant avoir la solution miracle prochainement,
> > >
> > > je vous salut
> > >
> > > FeuilleMorte
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bonjour,
> > > > As-tu testé sur un autre PC ?
> > > > Cela vient peut-être de ton excel.
> > > >
> > > > Sinon, je ne voie pas pourquoi ton code plante...
> > > >
> > > > RMD
> > > >
> > > > www.Logiciels-RMD.com
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > J'ai toujours mon probleme lorsque je veux acceder a excel via Delphi.
> > > > > J'ai bien ajouter les uses : comobj, variants et même excel 97 ou Excel 2000
> > > > > Mon code pour acceder a Excel est le suivant :
> > > > > 1)var
> > > > > 2) v_ex : variant;
> > > > > 3)begin
> > > > > 4) v_ex := createOleObject('Excel.Application');
> > > > > 5) v_ex.workbooks.open('c:\test\test.xls');
> > > > > 6) ...
> > > > > 7)end;
> > > > >
> > > > > Avant ce code fonctionnait très bien dans mon application mais depuis un certain temps j'ai un message d'erreur à l'exécution de la ligne 4).
> > > > > Voici le message "Le projet prj_toto.exe a provoque une classe d'exception EOleSysError avec le message 'CoInitialize n'a pas ete appele'. Processus stoppé. Utilisez Pas-a-pas ou Executer pour continuer".
> > > > >
> > > > > Suite a ce message d'erreur, bete et dissipline j'ai rajouter la fonction CoInitialize mais rien y fait. Je suis oblige de creer dans un projet annexe cette fonction pour me permettre d'accéder à Excel, or je veux conserver tous mes traitements dans le même projet pour faciliter la maintenance de celui-ci.
> > > > >
> > > > > J'attend vos suggestions car la je commence vraiment à desesperer.
> > > > >
> > > > > Merci d'avance.
> > > > >
> > > > > FeuilleMorte
> > > >
> > >
> >
>
jeudi 3 avril 2003 à 12:33:31 | Re : Problème avec Excel (ole)

stailer

T'es sur que t'as bien fait ca pour ouvrir ta feuille Excel :

var
vXLWorkbooks, vXLWorkbook, vMsExcel : variant ;
afilename : string;
begin
vMSExcel := CreateOleObject('Excel.Application');
aFileName := ExtraCtFilePatH(Application.ExeName + 'factures\facture_modèle.xls';

//Tu peux faire aussi : afilename := 'C:\mafeuille.xls';

vXLWorkbooks := vMSExcel.Workbooks;
vXLWorkbook := vXLWorkbooks.Open(aFileName);
end;




<-- St@iLeR -->
jeudi 3 avril 2003 à 17:20:34 | Re : Problème avec Excel (ole)

FeuilleMorte

oui ,
mais comme j'ai un message d'erreur a la premiere ligne :
vMSExcel := CreateOleObject('Excel.Application');
je ne peux pas aller plus loin
J'ai peut etre du a un moment changer quelque chose dans mon projet qui altere ce fonctionnement ...


FeuilleMorte


-------------------------------
Réponse au message :
-------------------------------

> T'es sur que t'as bien fait ca pour ouvrir ta feuille Excel :
>
> var
> vXLWorkbooks, vXLWorkbook, vMsExcel : variant ;
> afilename : string;
> begin
> vMSExcel := CreateOleObject('Excel.Application');
> aFileName := ExtraCtFilePatH(Application.ExeName + 'factures\facture_modèle.xls';
>
> //Tu peux faire aussi : afilename := 'C:\mafeuille.xls';
>
> vXLWorkbooks := vMSExcel.Workbooks;
> vXLWorkbook := vXLWorkbooks.Open(aFileName);
> end;
>
>
>
>
> <-- St@iLeR -->
>
mercredi 20 avril 2005 à 14:33:27 | Re : Problème avec Excel (ole)

Millenod

Essaye ceci :
- ajouter 'ActiveX' à la clause 'Uses'
-rajouter les lignes suivantes à la fin de ta fiche :

Initialization
  CoInitialize(nil);

Finalization
  CoUninitialize;
mardi 4 octobre 2005 à 17:45:34 | Re : Problème avec Excel (ole)

dominique.stock

Tu as du trouver une solution , mais sinon, j'ai eu le même souci .
Dans les options du debogger : j'avais coché  "Activer support inter processus COM".

Cela planté l'ouverture d'excel dans le debogger.


1 2

Cette discussion est classée dans : message, problème, excel, projet, ex


Répondre à ce message

Sujets en rapport avec ce message

export de delphi à excel [ par FeuilleMorte ] Voilà j'utilisais le code suivant et tout se passait comme sur des roulette mais un jour le message suivant est apparu : "Le projet toto.exe a provoqu Problème avec un TListView (Delphi 5) [ par Raoutas ] J'ai un prob avec un TListView, je rempli mon TListView tout se passe bien (j'ai fait un pas à pas y a pas de prob) et au moment ou la fenêtre s'affic WebBrowser, Excel et interception message [ par Paraglider ] Bonjour tout le monde,(Delphi 6)J'affiche une page htm dans un WebBrowser. Sur cette page un lien qui m'ouvre un fichier Excel. Si je modifie le fichi Répertoire incorrecte [ par m_cyril1 ] J'ai réussit à résoudre une partie de mon problème de bases de données, non pas en installant le BDE à partir des CDs de Delphi (Sinon cela oblige problème avec combobox [ par saravana ] bonjour a tous je souhaite réaliser un convertisseur de valeurs(cm;mm;m....)j'ai :Edit1Combobox1Combobox2button1et Edit2je rentre un chiffre dans edit [Delphi 8] Problème de compilation [ par mightteam ] Salut à tous       Voila je débutte avec Delphi (versio 8. NET)       quand je crée un nouveau projet il m'indique toujours la meme erreure qui est problème avec ondeactivate et onactivate.... [ par OrsE ] Salut tout le monde... Voilà, j'ai un projet dans lequel apparaîtront des fenêtres avec le style fsStayOnTop, donc si on change d'application ou même Problème Runtime Error 216 [ par astrosug44 ] Bonjour à tous,Voila j'ai un ptit problème...J'ai créé une application qui fonctionne très bien sous certain PC et sur certaine machine il ne démarre Delphi et Excel [ par defluc ] Bonjour L'instruction suivante : xlApp.WorkSheets[i].Copy(After:=xlApp.WorkSheets[i]); fonctionne parfaitement sur certaines machines mais sur d'autre ERRORDBENGINE [ par Brasseur ] Bonjour, Chaque fois j'ai exécute mon projet le message suivant s'affiche: "Impossible de charger le pilote". Je suis obligé de quitter Delphi (Vers


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales