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 :

remplire une ComboBox sous Word a partir de c++ Builder


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut remplire une ComboBox sous Word a partir de c++ Builder
    Bonjour a tous,

    Je realise en ce moment un projet sous BCB permetant de gerer un parc client et de remplire un formulaire Word avec les renseignement de ces clients. J arrive a remplire des zones de texte a partir de mes Edit en utilisant des Signet mais je n arrive pas a remplire un ComboBox. Avec un Signet les lignes s'ecrivent en dessous du ComboBox et non pas a l interieur.

    Si quelqu un peut m aider svp,ca fait des heures que je galere!!
    merci

  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
    Salut Matsa
    Post un peu de code pour voir ce que tu veu exactement

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    salut blondelle

    voici mon code(qui marche) pour ecrire dans un champs grace a un signet
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Variant vBookMarks, vBookMark, vContent;
     
    if (vBookMarks.OleFunction("Exists", "signet10"))
    {
    vBookMark = vBookMarks.OleFunction("Item", "signet10");
    vBookMark.OleFunction("Select");
     
     
    vContent = vBookMark.OlePropertyGet("Range");
    vContent.OleFunction("InsertAfter", Edit18->Text.c_str());
    }
    mais quand je fais la meme chose avec un signet pointant sur un Combobox les lignes ne s'ajoutent pas mais s'ecrivent en dessous
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (vBookMarks.OleFunction("Exists", "signet11"))
    {
    vBookMark = vBookMarks.OleFunction("Item", "signet11");
    vBookMark.OleFunction("Select");
     
     
    vContent = vBookMark.OlePropertyGet("Range");
    vContent.OleFunction("InsertAfter", ListBox2->Items->GetText());//meme chose a partir d'un Edit
    }

  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

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    voici le code modifi�

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (vBookMarks.OleFunction("Exists", "signet11"))
    {
        vBookMark = vBookMarks.OleFunction("Item", "signet11");
        vBookMark.OleFunction("Select");
     
     
        vContent = vBookMark.OlePropertyGet("Range");
        vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(ListBox2->Items->Strings[0]));
    }
    Je ne sait pas si c'est la bonne ecriture car cela ecrit bien au niveau du signet mais en faisant disparaitre le ComboBox
    dsl je debute dans le pilotage OLE de Word

  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
    Voila ce que j'ai teste
    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
     
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    Variant vBookMarks, vBookMark, vContent;
    vBookMarks = vWDocument.OlePropertyGet("BookMarks");
    if (vBookMarks.OleFunction("Exists", "signet1"))
    {
        vBookMark = vBookMarks.OleFunction("Item", "signet1");
        vBookMark.OleFunction("Select");
        // ...
    vContent = vBookMark.OlePropertyGet("Range");
    //vContent.OleFunction("InsertAfter", "texte");
    vMSWord.OlePropertyGet("Selection").OleProcedure("TypeText", WideString(ListBox1->Items->Strings[0]));
    }
    }
    Je pense que ce n'est pas que le TListBox qui disparait mais la Form complete, si oui c'est Word qui passe au premier plan

  7. #7
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Hello

    Si j'ai bien pig� ton combobox est un champ de ton document Word ?

    Est-ce que via une macro sous Word tu arrives � modifier ton combobox ??
    Par exemple avec un truc du genre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Selection.FormFields("Dropdown2").DropDown.ListEntries.Add Name:="321313"
    Sous Builder �a devrait donner quelque chose comme (non test�!)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    vMSWord.OlePropertyGet("Selection").OlePropertyGet("FormFields").OleFunction("Items", "DropDown2").OlePropertyGet("DropDown").OlePropertyGet("ListEntries").OleProcedure("Add", "xxx", 0);

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    Ma Form sous BCB est bien la,active, et avec tout ce qu'elle contient(Edit,ListBox...).
    Sous Word ma ComboBox ainsi que son signet assossi� disparaissent,de meme avec une ListBox.Je les insert en utilisant les controles ActiveX

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    salut totoche76,
    tu as tout pig� m� je n arrive pas a modifi� le contenue de mon ComboBox avec tes deux solutions.
    BCB me dit "une exeption c 'est produite " en me pointant cette ligne du fichier sysvari.h
    return OleFunction(name, static_cast<TAutoArgsBase*>(&args));
    Word me dit "erreur d'execution 5941, le membre de la collection n'existe pas"

  10. #10
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Juste pour �tre s�r, dans mon exemple, "Dropdown2", c'est le nom du bookmark repr�sentant le combobox (j'en avais mis 2 dans un document Word).

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    oui je l'ai bien remplac� par mon signet mais faut il mettre d autres lignes dans la macro, ou celle la sufit?
    Car si c' est le cas de mon cot� ca ne compil pas

  12. #12
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Dans Word, sans effectuer de s�lection dans le document, l'exemple pr�c�dent me donne la m�me erreur que toi.
    Sans s�lection active, ce qui suit fonctionne:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ActiveDocument.FormFields("Dropdown2").DropDown.ListEntries.Add Name:="154512"

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par d�faut
    ca ne fonctionne tjrs pas chez moi,et me redonne la m�me erreur
    mais qu entend tu par "sans selection active".
    dsl j'ai honte je connais pas grand chose

  14. #14
    Membre �m�rite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Septembre 2005
    Messages
    401
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 52
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 401
    Par d�faut
    Dans le document Word, j'ai 2 combobox (Dropdown1 et Dropdown2)
    1. Si la s�lection (le curseur) se trouve plus loin dans le document: Erreur 5941
    2. Si je s�lectionne les 2 combobox � la souris, la macro fonctionne.

    En rempla�ant dans le code de la macro Selection par ActiveDocument, le cas 1 ne produit pas d'erreur.

    Conseil: avant d'�crire le code C++ dans Builder, teste la faisabilit� des actions que tu veux ex�cuter dans une macro directement dans Word ;-)

Discussions similaires

  1. Remplir une combobox � partir d'un listview
    Par Gecoo dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 29/04/2010, 11h33
  2. remplir une combobox � partir d'un fichier .csv
    Par wolverine1987 dans le forum MFC
    R�ponses: 24
    Dernier message: 28/04/2009, 11h00
  3. Remplir une combobox � partir de la 2e ligne
    Par wagui26 dans le forum D�buter
    R�ponses: 10
    Dernier message: 13/10/2008, 16h49
  4. [Strat�gie] Remplir une ComboBox � partir du contenu d'un JTextField
    Par une_tite_question dans le forum Composants
    R�ponses: 4
    Dernier message: 01/07/2008, 14h22
  5. R�ponses: 1
    Dernier message: 28/11/2007, 09h31

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