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 :

PowerPoint intégré à une feuille


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut PowerPoint intégré à une feuille
    Des sujets ont été déjà lancés sur la question mais aucune réponse satisfaisante n'a encore pu vraiment apparaitre.
    Je cherche à intégrer des présentations PowerPoint à une application, que ce soit dans une feuille (dans un cadre) ou en plein écran, pouvoir naviguer dans la présentation grace à cette application, pouvoir récupérer des informations de la présentation (numéro de pagen etc).

    Pour celà, quatre solutions ont été esquissées :
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Variant::CreateObject("PowerPoint.Application");
    //puis
    OlePropertyGet();
    //et
    OlePropertySet();
    C'est la solution présentée dans la FAQ
    Problèmes : Celà lance PowerPoint en avant plan et on perd la main sur l'application qui lance la présentation.
    Les deux méthodes ci dessus permettent une (trop) grande liberté, le décryptage des macros de PPt ne suffit pas à toutes les opérations.

    2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TOleContainer::CreateLinkToFile();
    Cette solution place la présentation dans la feuille (dans le contrôle TOleContainer) La seule opréation que je réussise pour l'instant est le lancement en plein écran et l'ouverture pour modification.

    3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCppWebBrowser::Navigate
    Ouverture de la présentation dans un contrôle internet explorer intégré à la feuille.
    Comme c'est pas fait pour, c'est évidemment inadapté.

    4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TPowerPointApplication // et autres
    Ce devrait être la solution la plus adaptée... si une documentation existait ! Un exemple ridicule dans l'aide de C++Builder ne décrit que l'utilisation de l'équivalent pour Word, rien n'existe sur la façon d'utiliser les nombreuses méthodes fournies.
    Quelqu'un a-t-il de la documentation sur le sujet ? des exemples ?

  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 per_ewan
    A ma connaissance il n'y a aucune Doc.
    Si tu a un bout de code VB PowerPoint on peut essayer de l'adapter

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    hm.. en fait ce que je veux savoir c'est :
    * comment intégrer la diapo à une feuille
    * comment accéder à toutes les fonctions propres à PPt (celles qu'on peut voir en éditant les macros PPt)

    Pour ce qui est de transposer les actions ensuite, ça ça peut se faire avec un peu de tâtonnements.

    En ce sens la solution OleContainer est intéressante mais comment avoir accès à toutes les fonctions de PPt ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (OpenDialog1->Execute()) {
          Form1->Caption = OpenDialog1->FileName;
          OleContainer1->CreateLinkToFile(OpenDialog1->FileName, false);
    }
    Comment récupérer un objet à partir de ça qui permettrait de piloter la présentation ?

    PS : désolé de ne pas être plus précis mais pour l'instant je ne suis qu'en phase "d'exploration"...

  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
    Sur le site il y a une FAQ PowerPoint qui peut te servir il y a des exemples
    Certaines fonctions ne sont pas enregistrables en VB, il faut donc chercher sur l'aide en ligne PowerPoint et sur les FAQS, tu a raison pour la traduction, tu peut t'aider de ce qui a deja ete fait, et sur le Forum on aurra peut etre une solution a te proposer, deja tu peut ouvrir Power en mode non visible, preparer ton diaporama lancer l'execution et le rendre visible si necessaire, pour te deplacer avec les fleches du diaporama il y a cette fonction
    tu peu remplacer " OleFunction("Previous"); " par " OleFunction("Next"); " suivant le sens desire

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    Ou alors, sachant que les 2 méthodes utilisant respectivement TPowerPointApplication et Variant::CreateObject offrent toutes les posibilités de manipulation normale des présentations, trouver une façon de les contenir dans un cadre dans la feuille... je sais pas si c'est possible.

  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
    Salut
    Je ne pense pas que tu puisse faire autre chose que d'afficher la presentation soit en plein ecran, soit dans la fenetre PowerPoint

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 7
    Par défaut
    C'est fâcheux... En fait je suis en train de concevoir un programme de pilotage d'une lyre (projo motorisé avec effets et tout le bazard) dont les mouvements devront être synchronisés avec un diaporama powerpoint, c'est pour celà que j'ai besoin d'intégrer des présentations à mon application.
    Pour l'instant j'ai réussi à synchroniser en mode plein écran (c'est à dire quand on "joue" le tout) mais pas en mode "conception" où je dois avoir en parallèle les pages de la présentation et les contrôles de l'appareil.

  8. #8
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    Perso j'utilise le composant TCppWebBrowser qui permet d'afficher pas mal d'application en fait:
    Word,
    Excel,
    Powerpoint,
    Pdf,
    ...

    en utilisant la méthode suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    AnsiString PPT="C:\\fichier.ppt";
    int Size = MultiByteToWideChar (CP_ACP, 0, PPT.c_str(), -1, NULL, 0) ;
    LPWSTR wUnicode = new WCHAR[Size];
    MultiByteToWideChar (CP_ACP, 0, PPT.c_str(), -1, wUnicode, Size) ;
    CppWebBrowser1->Navigate(wUnicode,NULL,NULL,NULL,NULL);
    idée donnée sur ce post par Interruption13h.

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2003
    Messages : 332
    Par défaut
    Salut,

    Peut-être je vais dire une connerie, mais pourquoi ne pas essayer de convertir ton projet ppt vers un projet flash .swf
    Tu places un composant Flash sur ta fiche, et tu fais jouer l'animation flash. Et tu peux aussi donner les dimensions que tu souhaites à mon avis.

Discussions similaires

  1. [PPT-2013] Bouton avec macro pour ouvrir une feuille Excel PowerPoint 2013
    Par gdmeunier dans le forum Powerpoint
    Réponses: 0
    Dernier message: 27/10/2014, 13h10
  2. Réponses: 1
    Dernier message: 30/10/2013, 11h36
  3. Lire un wav intégré dans une feuille excel
    Par BruceBoc dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/12/2012, 14h41
  4. Réponses: 4
    Dernier message: 19/09/2012, 14h12
  5. Réponses: 0
    Dernier message: 06/02/2008, 17h05

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