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 :

probleme pour tracer une ligne avec 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 probleme pour tracer une ligne avec OleExcel
    J'ai reussi a tracer une ligne avec les commandes OleExcel qui utilise les outils de dessin Excel, mais je n'arrive pas a parametrer l'epaisseur de la ligne, ni la couleur de celle ci.
    le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    // on selectionne la feuille
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // on appel la fonction de tracage de ligne
    vWorksheet.OlePropertyGet("Shapes").OleFunction("AddLine", 1, 1, 100,100);
    // on appel la fonction parametrant l'epaisseur de la ligne
    vWorksheet.OlePropertyGet("Line").OleProcedure("Weight", 8);
    J'ai une erreur sur la derniere ligne.

  2. #2
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Es-tu certain du OleProcedure ? Ne serait-ce pas un OlePropertySet ?

  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
    Ricky81 a ecrit:
    Es-tu certain du OleProcedure ? Ne serait-ce pas un OlePropertySet ?
    Merci pour ta reponse Ricky81.
    J'ai fait l'essai l'erreur est nom inconnu.
    Je pense que c'est la facon d'assembler la ligne de commande qui n'est pas bonne pour l'instant je n'ai rien trouve.
    Je met en VBE la fonction que je voudrais reproduire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    ActiveSheet.Shapes.AddLine(X, Y, X1, Y1).Select
    Selection.ShapeRange.Line.Weight = 8#
    Selection.ShapeRange.Line.Visible = msoTrue
    Selection.ShapeRange.Line.Forecolor.SchemeColor = 22
    la premiere ligne est celle qui dessine le trait et qui fonctionne.
    La troisieme ligne est facultative mais si je peut la programmer ce sera un plus.
    Ce code est en fait dans une boucle qui lit un tableau de coordonnees X et Y et qui trace un circuit sur la feuille

  4. #4
    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
    J'ai resolu le probleme de l'epaisseur de la ligne.
    Il fallais ecrire:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Variant vLine;
            vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
            vLine = vWorksheet.OlePropertyGet("Shapes").OleFunction("AddLine", 1, 1, 200,100);
            vLine.OlePropertyGet("Line").OlePropertySet("Weight", 8);
    Il me reste maintenant le probleme de la couleur j'ai essaye
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
            vLine.OlePropertyGet("Line").OlePropertySet("SchemeColor", 22);
    ou
            vLine.OlePropertyGet("Line").OlePropertySet("ForeColor", 22);
    ou
            vLine.OlePropertyGet("Line").OlePropertySet("Color", 22);
    Chaque fois j'ai une erreur.

  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
    Je viens de trouver comment changer la couleur, et cerise sur le gateau comment rendre visible ou invisible la ligne.
    le code:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // on selectionne la feuille
    Variant vLine;
            vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // pour les donnees (1, 1, 100, 100) il faut lire X, Y, X1, Y1
    // X, Y point de depart de la ligne X1, Y1 point d'arrivee de la ligne
            vLine = vWorksheet.OlePropertyGet("Shapes").OleFunction("AddLine", 1, 1, 200,100);
            vLine.OlePropertyGet("Line").OlePropertySet("Weight", 8); // epaisseur de la ligne
            vLine.OlePropertyGet("Line").OlePropertyGet("ForeColor").OlePropertySet("SchemeColor", 22); // couleur de la ligne
            vLine.OlePropertyGet("Line").OlePropertySet("Visible", false);
            vLine.OlePropertyGet("Line").OlePropertySet("Visible", true);
    //
    La je me suis trouve exellent.

  6. #6
    Membre chevronn�


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par d�faut
    Si je me fie �
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Selection.ShapeRange.Line.Forecolor.SchemeColor = 22
    ce serait peut-�tre plut�t
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vLine.OlePropertyGet("Line").OlePropertyGet("Forecolor").OlePropertySet("SchemeColor", 22);
    (Forecolor ou ForeColor) ?

    [Edit]Ah ben tu as trouv� entre temps, f�licitations

  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
    Ricky81 a ecrit:
    Ah ben tu as trouv� entre temps, f�licitations
    Merci pour ton aide Ricky81.
    Je commence a comprendre comment est articule la programmation OleExcel, en la comparent a VBE il y a des similitudes.
    J'ai encore quelques essais a faire sur les objets de dessin, j'ai un logiciel que j'ai developpe, et qui fonctionne au boulot en VBE, je vais essayer de le readapter.
    Il y a des formes que l'on peut appeler, il y a des boutons d'appel de dessin qui se substituent a la barre d'outils, et le rajout de menus deroulants, des postes en perspective.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Tracer une ligne avec la souris (AS3) ?
    Par leoncap dans le forum ActionScript 3
    R�ponses: 1
    Dernier message: 26/04/2010, 16h46
  2. [MySQL] Probleme pour int�rroger une base avec "%" (Tous)
    Par pierrot10 dans le forum PHP & Base de donn�es
    R�ponses: 6
    Dernier message: 03/04/2008, 13h03
  3. R�ponses: 3
    Dernier message: 07/08/2006, 11h25
  4. [FP]Tracer Une ligne avec Dev-pascal
    Par yffick dans le forum Turbo Pascal
    R�ponses: 9
    Dernier message: 17/12/2003, 16h33
  5. R�ponses: 2
    Dernier message: 08/08/2003, 17h30

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