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:
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.
Citation:
Exception :
Message "Bibliothèque non inscrite."
Source "Interop.Word"
StackTrace "at Word.Pane.get_View()"
Si qqun peut m'éclairer.
Merci !
usage abusif de Microsoft.Office.Interop.Word.dll
Bonjour ac/dc
Il y a la un usage abusif des references.
Citation:
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....................
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.............