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

VB.NET Discussion :

Exception avec pilotage Word


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut Exception avec pilotage Word
    Bonjour,

    Dans une application VBNET, j'utilise les dll de pilotage de Word.

    De temps en temps, sur cette ligne, une exception est levée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Toto.Text = Me.WinWord.document.ActiveWindow.ActivePane.View.Zoom.Percentage
    Je ne comprends pas pourquoi cette exception est aléatoire. Ni même comment la corriger.


    Exception :

    Message "Bibliothèque non inscrite."
    Source "Interop.Word"
    StackTrace "at Word.Pane.get_View()"

    Si qqun peut m'éclairer.

    Merci !

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,

    peux-tu préciser :
    Citation Envoyé par ac/dc Voir le message
    cette exception est aléatoire.
    ???

  3. #3
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Et bien en lançant l'application sur mon poste, j'ai l'erreur de temps en temps... elle n'est pas reproduite tout le temps.

  4. #4
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Dans mon projet, je fais référence à :

    - Microsoft.Office.Interop.Word.dll (En référençant la dll sur le disque)
    - Microsoft Word 10.0 Object Library (Référence COM)
    En regardant dans le GAC, je n'ai que :

    - Microsoft.Office.Interop.Word.dll
    Est ce qu'à certains moment l'application change de dll pendant l'exécution et choisie la 2ème dll 'Interop.Word.dll' et du coup, il ne la trouve pas dans le GAC ??

  5. #5
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Personne ne peut m'éclairer sur pourquoi une telle erreur peut intervenir aléatoirement ? C'est vraiment étrange ??

  6. #6
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    J'ai toujours l'erreur, mais ce n'est pas exactement la même :p :


    AssemblyQualifiedName "Word.DocumentClass, Interop.Word, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null"
    Location "d:\toto\bin\interop.word.dll"
    FullName "Interop.Word, Version=8.2.0.0, Culture=neutral, PublicKeyToken=null"
    Message "Exception de HRESULT : 0xC0000005."
    Source "Interop.Word"

    J'ai lu quelque part que "HRESULT : 0xC0000005" provenait de M. Word XP, et que le SP1 corrigeait le problème. Je l'ai installé mais sans succès....

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Tu as quelle version de Word installée sur ton PC ?

  8. #8
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut usage abusif de Microsoft.Office.Interop.Word.dll
    Bonjour ac/dc
    Il y a la un usage abusif des references.
    Dans mon projet, je fais référence à :
    - Microsoft.Office.Interop.Word.dll (En référençant la dll sur le disque)
    - Microsoft Word 10.0 Object Library (Référence COM)
    Ce que tu dois comprendre dans l'Interrop Office
    1/utilisation du panneau Com avec les librairies de la version Office installe
    -reference seulement ta librairie Com.
    Office(Microsoft Word 10.0 Object Library ,Microsoft Excel 10.0 Object Microsoft Access 10.0 Object etc....) dans ton projet.
    -la dll Microsoft.Office.Interop.Word.dll est cree par VS à la volee.........
    Elle sert d'interface pont (wrapper) entre tes variables .NetFrameWork et les variables Com d'office.
    -il faut la distribuer car ton projet depend d'un wrapper specifique à une version Office de ton projet(version oOfice utilisee au moment du developpement).
    -user final doit avoir la meme version Office que ton projet.

    2/Utilisation du panneau .Net avec la librairie du run-tim PIA Office XP (disponible sur site MSDN en telechargement que tu dois installer sur ta machine)
    -reference seulement ta lib Microsoft.Office.Interop.Word.dll qui devient visible dans le panneau .Net apres installation du PIA.
    -VS à ce moment utilise ton wrapper PIA(il ne genere rien).
    -il faut distribuer le PIA office car ton projet depend d'un PIA specifique à une version Office de ton projet.En le cochant dans les pre-requis du projet setup.
    -user final aura ainsi la lib PIA installee chez lui et bien entendu la meme version Office que ton projet.

    C'est la demarche à adopter pour utiliser l'interop Office correctement.

    Bon code....................

  9. #9
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    J'ai Word XP sur mon poste.

    Le problème, si je supprime la référence .NET "Microsoft.Office.Interop.Word.dll", j'obtiens ensuite cette erreur :

    L'espace de noms ou le type 'Interop' dans les Imports au niveau du projet 'Microsoft.Office.Interop' est introuvable.
    Il me reste tout de même en référence la COM : "Microsoft Word 10.0 Object Library"

  10. #10
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut référence à Microsoft Word 10.0 Object Library
    rebonjour
    Normal car en la supprimant de cette facon "pas propre" tu as supprime le wrapper com.
    Il faut proceder proprement en recommencant à "zero" si tu veux ( renitialisation des references).
    1/Supprime la reference à Microsoft Word 10.0 Object Library ce qui a pour effet de supprimier le fichier Microsoft.Office.Interop.Word.dll (vs annule son travail).

    2/Tu ajoutes ensuite la reference à Microsoft Word 10.0 Object Library

    3/plus j'en ai oublie une -excuse moi- la derniere fois,la reference à Microsoft Office 10.0 Object Library pour les menus et barre d'outils

    Ceci doit fonctionner correctement.

    Si ca ne vas pas ,le dernier recours c'est la 2eme solution ( c'est de travaller avec les PIA au lieu du panneau Com )
    C'est celle que j'ai adopte car la reference au panneau Com c'etait bon du temps de vs 2003,avant que microsoft mettent au point les PIA.
    Bon code.............

  11. #11
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    Pas mieux

    J'ai toujours le message. C'est vraiment le bor*** dans ces références ! Et ceci pourrait corriger mon problème d'origine ? Car pourquoi ce problème d'origine n'intervient que quelques fois ... ça m'énerve les problèmes aléatoires !!!

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

Discussions similaires

  1. travailler avec modele Word
    Par Sunny dans le forum Access
    Réponses: 8
    Dernier message: 05/12/2005, 12h13
  2. Réponses: 2
    Dernier message: 14/02/2005, 14h26
  3. Réponses: 3
    Dernier message: 09/11/2004, 14h43
  4. INSO Filter : "USER-defined exception" avec ctx_do
    Par Wiztiti dans le forum Oracle
    Réponses: 2
    Dernier message: 01/06/2004, 16h14
  5. [AUTOMATION WORD]Pilotage Word par Delphi
    Par Sunny dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/12/2002, 17h09

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