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 :

Accéder à une checkbox via l'API d'OpenOffice


Sujet :

C++Builder

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut Accéder à une checkbox via l'API d'OpenOffice
    Bonjour,

    J'ai trouvé sur le site quelques exemples de pilotage d'OpenOffice via C++ Builder.
    Je cherche à contrôler une chechbox ajoutée sur le document principal mais je ne sais pas comment y accéder. Me basant sur des exemples dans d'autres langages trouvés sur le NET, j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ... 
    vOOoDocument = vOOoDesktop.OleFunction("LoadComponentFromURL" , ... ); 
    vOOoDraw = vOOoDraw = vOOoDocument.OleFunction("getDrawPage"); 
    vOOoForms = vOOoDraw.OleFunction("getForms"); 
    vOOoMainForm = vOOoForms.OleFunction("getByName","Standard"); 
    vOOoCb = vOOoForm.OleFunction("getByName","MyCheckBox"); // -> génère une exception: "Nom inconnu"
    mais cela ne fonctionne pas. Quelqu'un a t'il la solution ?
    Merci

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 21
    Par défaut
    Salut Josse95

    Le code suivant devrait fonctionner à 2 conditions :
    1 : Vous avez ouvert un document "Writer"
    2 : Le nom du formulaire contenant la case à cocher s'appelle "Standard", et celui de la CBox "MyCheckBox".
    Votre exception "Nom inconnu", provient sans doute du fait que le nom interne de la CBox (normalement "MyCheckBox") n'a pas été fixé ; il suffit pour cela de faire un clic droit dessus puis choisir "Contrôle" ; la fenêtre qui s'affiche donne alors accès à tous ses paramètres, dont le nom du composant (1ère ligne).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    vOOoForm = vOOoDocument.OlePropertyGet("DrawPage").OlePropertyGet("Forms").OleFunction("getByName","Standard"); 
    vOOoCb = vOOoForm.OleFunction("getByName","MyCheckBox");
    vOOoCb.OlePropertySet("State",0); //Pour décocher
    vOOoCb.OlePropertySet("State",1); //Pour cocher
    Attention, l'accès aux composants formulaires dans un doc "Calc" est légèrement différent.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    Merci beaucoup pour la réponse.

    Mon erreur provenait du fait que lorsque je cliquais droit sur la case à cocher, j'utilisais l'option Nom plutôt que l'option Contrôle pour affecter le nom.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Accéder à une checkbox dans un panel ?
    Par Zaza91280 dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/04/2010, 21h07
  2. [AC-2007] Accéder à une variable via une Macro
    Par damsmut dans le forum VBA Access
    Réponses: 4
    Dernier message: 07/01/2010, 10h02
  3. Réponses: 1
    Dernier message: 22/10/2009, 12h51
  4. Sécurité d'une connection via l'API mysql
    Par Pgs dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/10/2007, 10h46
  5. [FireBird] Accéder à une vue via Excel
    Par Vonotar dans le forum Débuter
    Réponses: 1
    Dernier message: 07/12/2004, 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