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

Windows Forms Discussion :

Comment communiquer/échanger avec un Add-In VSTO pour Word 2007 ?


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Comment communiquer/échanger avec un Add-In VSTO pour Word 2007 ?
    Bonjour,

    J'ai créer un Add-In avec VSTO pour Word 2007, et je souhaiterais récupérer dans une autre application les évènements de click sur les boutons de mon Add-In.

    J'ai chercher un peu partout et je n'arrives pas à trouver comment identifier mon Add-In depuis mon application.

    Pourriez-vous m'aider ?

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Pas sur que ce soit possible, de façon simple

    Tu peux tenter de surcharger la méthode RequestComAddinAutomationService (http://msdn2.microsoft.com/en-us/lib...ce(VS.90).aspx) mais c'est pas garantit que ca marche

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse, malheureusement, soit je n'ai pas compris, soit ce n'est pas la solution.

    D'après ce que j'ai compris, RequestComAddInAutomationService est une fonction appeller par Word sur Mon AddIn, mais à aucun moment, cela ne me permet de récupérer l'instance de celui-ci dans mon application.

    Je chercherais plutot un trucs du genre :

    MonAddIn = Word.Application.CustomTaskPanes[i];

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Disons que dans ton application, tu peux faire de l'INTEROP COM avec Word...

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Pas sur que je comprennes là, est-ce que tu pourrais préciser un peu ?

    Je connais l'interrop avec Word, mais je n'arrives pas à acceder au CustomTaskPanes depuis cette interrop apparemment, j'ai bien les TaskPanes mais ce sont les panels prédéfini par Microsoft et non le mien.

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    En faisant de l'interop Word dans ton application, tu devrais être en mesure d'avoir un objet de type WordApplication (ou un truc du genre).

    A partir de là, tu devrais pouvoir avoir accès à la collection TaskPanes ou CustomTaskPanes....

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Alors justement non, je créé bien mon objet Word.Application, il a bien une collection TaskPanes contenant les panels mais uniquement les Panels de Word sans les Custom.
    La collection CustomTaskPanes est apparemment facilement accéssible depuis mon AddIn mais pas en Interop il me manque une information pour créer cette collection depuis mon application, c'est IRuntimeServiceProvider que je ne trouve nul part dans mon objet Application.

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Alors là, je vois pas, désolé.....

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Pour résumer, dans un projet je créé un Add-In VSTO pour Word 2007, que je nommerai MonAddInWord, avec un UserControl à docker nommé UCCommands.

    Dans un autre projet, je gère une Interop avec Word2007, là, je peux lister les COMAddIns de Word.Application, et je vois bien mon Add-in MonAddInWord. Il a bien les propriétés Guid, ProgID correctes mais la propriété Object est Null, donc pas d'acces direct à UCCommands.

    J'ai bien essayé de caster Word.Application.COMAddIns[0] en MonAddInWord mais là : Erreur ! J'ai essayé en UCCommands et la encore Erreur. Apparemment, la classe MonAddInWord hérite de la classe AddIn de Microsoft.Office.Tools.Common et elle a apparemment un attribut ComNonVisible ce qui expliquerait pourquoi je ne peux pas la caster.

    J'ai alors essayer de créer une autre interface dans mon Add-In en le faisant aussi hériter de cette interface pour avoir :
    MonAddInWord : AddIn, IStartup, IMonAddInWord

    Et quand j'essaye de caster COMAddIn en IMonAddInWord, pareil, erreur

Discussions similaires

  1. [XL-2007] Ouverture de fichier avec le complement File Search pour Excel 2007
    Par Tydher dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2012, 10h00
  2. comment communiquer avec un PABX en utilisant TAPI
    Par keletigui dans le forum C++
    Réponses: 1
    Dernier message: 30/03/2007, 12h12
  3. VSTO [WinForm + word 2007 ContentControl] C#
    Par jpo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/03/2007, 16h20
  4. [Système] Comment communiquer avec un port serie ou usb en php?
    Par thenightmare1985 dans le forum Langage
    Réponses: 3
    Dernier message: 05/12/2006, 13h12
  5. Réponses: 7
    Dernier message: 27/09/2005, 10h38

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