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 :

[VB.Net 2005][ADD IN]Comment faire interagir mon add in avec WORD ?


Sujet :

Windows Forms

  1. #1
    Membre régulier
    ingénieur informaticien
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : ingénieur informaticien

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut [VB.Net 2005][ADD IN]Comment faire interagir mon add in avec WORD ?
    Bonjour. En m'inspirant de l'exmple de L. G. MORAND, j'ais écrit le code suivant dans mon module connect.vb
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Imports System
    Imports Microsoft.Office.Core
    imports Extensibility
    Imports System.Runtime.InteropServices
    
    #Region " Read me for Add-in installation and setup information. "
    ' When run, the Add-in wizard prepared the registry for the Add-in.
    ' At a later time, if the Add-in becomes unavailable for reasons such as:
    '   1) You moved this project to a computer other than which is was originally created on.
    '   2) You chose 'Yes' when presented with a message asking if you wish to remove the Add-in.
    '   3) Registry corruption.
    ' you will need to re-register the Add-in by building the $SAFEOBJNAME$Setup project, 
    ' right click the project in the Solution Explorer, then choose install.
    #End Region
    
    <GuidAttribute("80A355F8-FBC5-4C56-84FA-B6BCADE7B79C"), ProgIdAttribute("MyAddin1.Connect")> _
    Public Class Connect
    	
    	Implements Extensibility.IDTExtensibility2
    
    	Dim applicationObject as Object
        Dim addInInstance As Object
    
        Dim Liaison As System.Reflection.Binder
        Dim args As Object()
        Dim app As Word._Application = DirectCast(applicationObject, Word._Application)
    
        Private Bouton As CommandBarButton
        Private BarOutils As CommandBars
        Private BarStandard As CommandBar
    
    	Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown
    	End Sub
    	
    	Public Sub OnAddInsUpdate(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnAddInsUpdate
    	End Sub
    	
    	Public Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete
    	End Sub
    	
    	Public Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection
    	End Sub
    	
    	Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
            applicationObject = application
            addInInstance = addInInst
    
            BarOutils = DirectCast(applicationObject.GetType.InvokeMember("CommandBars", Reflection.BindingFlags.GetProperty, Nothing, applicationObject, Nothing), CommandBars)
            BarStandard = BarOutils("Standard")
    	End Sub
    
    End Class
    Le problème est que le type "word._application" n'est pas reconnu. Alors je n'arrive pas à démarrer word depuis mon application. Au mieux c à d en supprimant la ligne en gras, je démarre une autre instance de visual studio. Comment corriger ce problème?

  2. #2
    Membre régulier
    ingénieur informaticien
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : ingénieur informaticien

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut
    J'ais pu résoudre le problème lié au type word.application en ajoutant la rrférence "Microsoft Word 11..." à mon projet. Mais à l'exécution, c'est toujours une seconde instance de VS2005 qui s'ouvre plutôt qu'une instance de word. Y-a-t'il une explication à cela. Comment doit procéder pour ouvir directement Word.

  3. #3
    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
    Citation Envoyé par DonF
    J'ais pu résoudre le problème lié au type word.application en ajoutant la rrférence "Microsoft Word 11..." à mon projet. Mais à l'exécution, c'est toujours une seconde instance de VS2005 qui s'ouvre plutôt qu'une instance de word. Y-a-t'il une explication à cela. Comment doit procéder pour ouvir directement Word.
    Dans l'explorateur de solution, tu fais un clic droit sur ton projet, puis Propriété.

    Là, tu regarde dans les onglets (car je sais plus lequel): dans l'un deux, il y a une ligne avec marquer: Programme à lancer, et le chemin est rempli avec le path vers l'exe de VS.
    Tu modifes ce path pour le faire pointer vers l'exe de Word


    A+

  4. #4
    Membre régulier
    ingénieur informaticien
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : ingénieur informaticien

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut
    Merci du coup de pousse, mais c'est pas suffisant. Word souvre bien mais aucune des actions que j'ais spécifié ne s'exécute. C'est comme si l'unique action consistait à ouvrir MS Word. Même en mode pas à pas détaillé c'est pareil. Une touche sur F8 et word s'ouvre. Aucune des instructions écrites ne s'exécute.

  5. #5
    Membre régulier
    ingénieur informaticien
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations professionnelles :
    Activité : ingénieur informaticien

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut Mon ADD IN ne s'initialise pas
    Lorsque je lance l'exécution de mon projet, l'application hote c'est à dire "Word 2003" s'ouvre (c'est ce que j'ais spécifié dans les propriétés du projet). A partir de là plus rien. aucune des actions spécifiées aussi bien dans ma onconnection que dans la methode onstartupcomplite ne s'exécute. A quoi est-ce dû? Comment résoudre un tel problème?

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2009, 11h45
  2. Comment faire interagir C/C++ et Python dans un même exécutable ?
    Par Amybond dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 06/05/2007, 17h08
  3. [VB.NET] DataGridView à double entrée: comment faire?
    Par BillyboyK dans le forum Windows Forms
    Réponses: 7
    Dernier message: 06/04/2006, 10h06
  4. [XSL]Comment faire ceci ?? Mon for-each n'affiche pas tout !
    Par Devil666 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 27/07/2005, 16h04
  5. Comment faire une division par 5 avec les decalages
    Par Zaion dans le forum Assembleur
    Réponses: 7
    Dernier message: 05/11/2004, 18h33

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