[C#][MSWORD]Accès aux propriétés d'un document WORD
Bonjour,
Je cherche à accéder aux propriétés d'un document WORD via une application C# .Net (VS2008).
J'utilise la dll : Microsoft Word 11.0 Object Library.
J'ai trouvé les objets de la dll qui m'intéressent. Seulement, bien qu'ayant suivi scrupuleusement les extraits de codent proposés sur la MSDN ou divers tutoriaux, j'en revient toujours à la même erreur de cast.
Voici le code qui pose problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
Microsoft.Office.Interop.Word.Application msWord = new Microsoft.Office.Interop.Word.Application();
msWord.Visible = false;
object missing = System.Reflection.Missing.Value;
object fileName = @"C:\myFile.doc";
Microsoft.Office.Interop.Word.Document nvDoc;
nvDoc = msWord.Documents.Open(ref fileName, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
//String test = Microsoft.VisualBasic.Information.TypeName(nvDoc.CustomDocumentProperties);
Microsoft.Office.Core.DocumentProperties properties;
properties = (Microsoft.Office.Core.DocumentProperties)nvDoc.CustomDocumentProperties;
properties["Entete_NomAffaire"].Value = "TEST"; |
La ligne qui provoque l'erreur est la suivante :
Code:
1 2
|
properties = (Microsoft.Office.Core.DocumentProperties)nvDoc.CustomDocumentProperties; |
L'erreur générée :
Impossible d'effectuer un cast d'un objet COM de type 'System.__ComObject' en type d'interface 'Microsoft.Office.Core.DocumentProperties'. Cette opération a échoué, car l'appel QueryInterface sur le composant COM pour l'interface avec l'IID '{2DF8D04D-5BFA-101B-BDE5-00AA0044DE52}' a échoué en raison de l'erreur suivante : Cette interface n'est pas prise en charge (Exception de HRESULT : 0x80004002 (E_NOINTERFACE)).
Voilà, j'ai cherché un peu partout. Le code que j'ai utilisé est quasiment mot pour mot celui que j'ai pu trouver sur la MSDN. Je ne comprends pas d'où vient cette erreur. J'ai même utilisé la dll Microsoft.VisualBasic.dll pour m'assurer que l'objet que je tente de caster "DocumentProperties" est bien de ce type.
Merci par avance pour votre aide,
Kuro-chan