IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Insertion d'une image OleExcel


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut Insertion d'une image OleExcel
    Suite a une demande de ptit fab
    Voici comment inserer une image dans Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Variant vFileName;
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Images_OpenOffice\\Image2.jpg";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);
    vXLWorkbook.OlePropertyGet("ActiveSheet").OlePropertyGet("Pictures").OleFunction("Insert", vFileName);

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Merci pour le code

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Pendary:
    C'est juste pour le chargement de l'image il est toujours possible d'ameliorer.

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    bien sur quil ya toujours une possibilité d'améliorer

    mais ce code pourra certainement servir comme base de départ

    cependant j'ai une petite question, sais tu si il est possible de stocker une image dans une cellule particulière d'une feuille ?

    j'ai testé de le faire à la main sous excel mais je n'ai pas réussi

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Pendary:
    Je n'en ai jamais eut besoin mais pour savoir si c'est possible on peu toujours demander sur le Forun Excel du site, c'est ce que je fais quand je n'arrive pas ou ne comprend pas quelque chose en plus les modos sont tres competents

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Voici comment inserer une image en imposant ses dimensions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Variant vFileName;
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Images_OpenOffice\\Image2.jpg";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);
    vWorksheet.OlePropertyGet("Shapes").OleFunction("AddPicture", vFileName, false, true, 100, 100, 70, 70);

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Voici comment inserer une image en haut a gauche d'une cellule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Variant vFileName, vobjPict;
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Images_OpenOffice\\Image2.jpg";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);
    vobjPict = vWorksheet.OlePropertyGet("Pictures").OleFunction("Insert", vFileName);
    vobjPict.OlePropertySet("Left", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Left"));
    vobjPict.OlePropertySet("Top", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Top"));

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Voici comment inserer une image en haut a gauche d'une cellule, en imposant ses dimensions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Variant vFileName, vobjPict;
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Images_OpenOffice\\Image2.jpg";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);
    vobjPict = vWorksheet.OlePropertyGet("Shapes").OleFunction("AddPicture", vFileName, false, true, 100, 100, 70, 70);
    vobjPict.OlePropertySet("Left", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Left"));
    vobjPict.OlePropertySet("Top", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Top"));
    Ce n'est pas vraiment une insertion dans une cellule mais on s'en rapproche

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Voici comment inserer une image en haut a gauche d'une cellule, en imposant ses dimensions par rapport aux dimensions de la cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Variant vFileName, vobjPict;
    // on se positionne sur la cellule G2
    vWorksheet.OlePropertyGet("Cells", 2, 7).OleFunction("Select");
    float HtCellule = vMSExcel.OlePropertyGet("Selection").OlePropertyGet("RowHeight");
    float LarCellule = vMSExcel.OlePropertyGet("Selection").OlePropertyGet("ColumnWidth");
     
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Images_OpenOffice\\Image2.jpg";
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1);
    vobjPict = vWorksheet.OlePropertyGet("Shapes").OleFunction("AddPicture", vFileName, false, true, 0, 0, HtCellule, LarCellule);
    vobjPict.OlePropertySet("Left", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Left"));
    vobjPict.OlePropertySet("Top", vWorksheet.OlePropertyGet("Range", "G2").OlePropertyGet("Top"));
    :

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Merci pour tout c'est code ca va surement mettre utile dans le futur

    je vais t'expliquer pourquoi je voulais insérer une image dans une cellule, c'est pour tout simplement la recupérer en recupérant le contenu de la cellule

    parceque dans une de mes applis je me sert d'excel comme d'une base de données, et pour le moment, je stocke simplement le lien de l'image, et je copie l'image où je souhaite la retrouver

    donc je me demandais si il était possible de stocker directement l'image, comme ça je ne m'embeterai plus à chercher l'image dans un repertoire quoiqu'en y réflechissant c'est p-e plus pratique d'avoir l'emplacement de l'image, comme ca on est pas obligé d'utiliser excel constamment

    enfin il faut que je refléchisse lol

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Apres avoir parcourue la FAQ Excel il semble qu'il ne soit pas possible de charger une image dans une cellule, par contre ils utilisent un composant Excel ImageList il y a un composant de meme nom en BCB, il faudrait peu etre regarder de ce cote

Discussions similaires

  1. [ezPDF] Insertion d'une image !
    Par Dsphinx dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 22/03/2007, 14h27
  2. [RTF] Insertion d'une image BMP
    Par didinel dans le forum Autres langages
    Réponses: 20
    Dernier message: 04/12/2006, 17h34
  3. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21
  4. Insertion d'une image BMP dans un fichier RTF
    Par didinel dans le forum MFC
    Réponses: 8
    Dernier message: 18/08/2005, 09h24
  5. Insertion d'une image dans la une base mysql...
    Par Angeldu74 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/06/2005, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo