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 :

Problème de mise en forme OleExcel


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Par défaut Problème de mise en forme OleExcel
    Salut.

    J'utilise aussi la manipulation Ole pour exporter des données statistiques d'une application vers excel.

    Je me suis référé à la FAQ, très complète, de developpez sur ce sujet.
    Cependant certaines fonctions me pose problème.
    Le contenu des cellules, je ne peut ni mettre en gras, ni souligner, ni mettre en italique.

    J'utilise pourtant cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vCell.OlePropertySet("Italic" , true);
    Elle me renvois une erreur : de type 'message inconnu'

    J'ai lu dans une vieille doc de borland qu'il existait un fichier VBAXL8.hlp dans le dossier d'installation d'excel dans lequel se trouve toutes les fonctions. Malheureusement je ne l'ai pas trouvé (j'utilise excel 2007).


    PS : j'aimerais également insérer une image, ou dessiner des "flèches" dans excel en passant par mon application C++, c'est possible?

  2. #2
    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
    Pour commencer
    Pour Formater le texte en Gras Italic Souligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // on selectionne la Feuil1
    vWorksheet.OleProcedure("Select");
    // pour lire dans une cellule
    // ("Cells", ligne, colonne)
    vCell = vWorksheet.OlePropertyGet("Cells", 3, 2);
    vCell.OlePropertyGet("Font").OlePropertySet("Bold", true); // false
    vCell.OlePropertyGet("Font").OlePropertySet("Italic", true); // false
    vCell.OlePropertyGet("Font").OlePropertySet("Underline", 2);
     
    // pour retirer le format Italic
    vCell.OlePropertyGet("Font").OlePropertySet("Underline", -4142);

  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
    Une facon d'inserer une image
    vWorksheet.OlePropertyGet("Shapes").OleFunction("AddPicture", "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Massiv10\\Massiv10\\Bitmaps\\Arrow\\arcarrow1.bmp", 0, 1, 0, 0, 150, 70);

  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
    Voici une facon de dessiner une fleche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Variant vLine;
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // pour les donnees (1, 1, 200, 100) il faut lire X, Y, X1, Y1
    // X, Y point de depart de la ligne X1, Y1 point d'arrivee de la ligne
    // coordonnees de la ligne
    vLine = vWorksheet.OlePropertyGet("Shapes").OleFunction("AddLine", 1, 1, 200,100);
    // on parametre la ligne en fleche
    vLine.OlePropertyGet("Line").OlePropertySet("EndArrowheadStyle", 2);
    vLine.OlePropertyGet("Line").OlePropertySet("EndArrowheadLength", 2);
    vLine.OlePropertyGet("Line").OlePropertySet("EndArrowheadWidth", 2);
    // on modifie l'apparence de la fleche
    vLine.OlePropertyGet("Line").OlePropertySet("Weight", 18); // 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);
    Le fichier d'aide " VBAXL8.hlp " que tu cherche sur la version 2003 s'appelle " VBAXL10.hlp ", je pense que sur ta version c'est le chiffre qui doit etre different je le trouve sur ce chemin " C:\Program Files\Microsoft Office\OFFICE11\1036 "

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Par défaut
    Merci pour cette aide et toutes ces réponses.
    J'ai testé le formatage du texte d'une cellule, ça marche.
    Pour l'image et les flèches faut que je vois ça plus en détail, niveau paramètre..etc

    Sinon j'ai bien un fichier VBAXL10.CHM (et pas .hlp), comme en plus j'ai vista faut que j'arrive à l'ouvrir pour voir si c'est bien ça. Apparement certains fichiers d'aides ne sont pas disponibles sous vista.

    Je vous tiens au courrant.

    encore merci

  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
    C'est possible que l'extension soit CHM, c'est de toute facon un fichier d'aide VBE, si ton fichier d'aide n'est pas disponible tu peu toujours utiliser celui d'une version precedente c'est mieux que rien

Discussions similaires

  1. Réponses: 7
    Dernier message: 13/08/2009, 20h20
  2. [CR9] [CRXI] Problème de mise en forme sur un nom de groupe
    Par Maltus dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/09/2006, 10h32
  3. [VBA_E] Problème de mise ne forme,pour balayage
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/08/2006, 13h33
  4. [VBA] Problème enregistrement mise en forme fichier word
    Par guenfood dans le forum VBA Word
    Réponses: 1
    Dernier message: 07/06/2006, 14h10

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