Inserer image dans excel a partir d'un fichier ressource

Résolu
gondranais Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006 - 25 avril 2006 à 17:26
gondranais Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006 - 26 avril 2006 à 11:53
Bonjour,
C'est ma première intervention sur ce site, je n'ai qu'une petite expérience en prog. delphi et aujourd'hui je bloque sur le problème suivant:
Je souhaite insérer une image dans excel a partir de delphi sans pointer sur un fichier donc j'ai créé un fichier .rc qui contient la ligne LOGO JPEG D:\xxx\logo.jpg que j'ai compilé en .res puis dans mon code :

uses jpeg;
Res: TResourceStream;
Jpeg: TJpegImage;
Res:=TResourceStream.Create(0,'LOGO','JPEG');
Jpeg:=TJpegImage.Create;
Jpeg.LoadFromStream(Res);
excel.Range['A1'].Select;
excel.ActiveSheet.Pictures.Insert(xxxxxx).Select; ????????????
Je ne trouve pas la syntaxe pour insérer l'image dans excel et je ne suis pas sûr de mis prendre correctement.
Si quelqu'un peut m'aider, please ...

4 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
26 avril 2006 à 09:54
Pour la sauvegarder, tu utilises le méthode SaveToFile de ton objet TResourceStream. Tu n'es donc même pas obligé de passer par un TJpegImage !!

Si tu ne te plantes pas ......
tu ne pousseras jamais
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
25 avril 2006 à 19:19
Pour ce qui est de la récupération de la ressource, oui tu as fait correctement.
Mais pour ce qui est de l'insertion dans Excel, je crois que le mieux, si tu comprend un peu le visual basic, c'est de consulter l'aide de VBA d'excel.

Je viens de charcher et j'ai trouvé ça:
Tu enregistres l'image sur le disque (obligatoire)
Et ensuite tu fais : (j'ai pas testé)
<hr size= "2" width="100%"> var
Img: Variant;
begin
Img : = Excel.ActiveSheet.Pictures.Insert('Nom du fichier sur le disque');
Img.Left := 0;
Img.top := 0;
end ;
<hr size ="2" width="100%">
Voir ici : FAQ VBA

En espérant que cela t'aidera.

Si tu ne te plantes pas ......
tu ne pousseras jamais
0
gondranais Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006
26 avril 2006 à 09:33
Merci pour ta réponse, j'aurais voulu éviter de sauver l'image sur le disque mais si je ne peux pas faire autrement, reste a trouver comment la sauver justement, après l'insérer dans excel ne devrait pas être un soucis.
0
gondranais Messages postés 3 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 26 avril 2006
26 avril 2006 à 11:53
Merci ça fonctionne !
0
Rejoignez-nous