Bonsoir à tous,
 
J'ai un document Word dans lequel j'ai créé un champ "Author" de type Texte qui est renseigné à "MyAuthor" dans le fichier Essai_01.docx.
Depuis C#, j'arrive à ouvrir le fichier mais je n'arrive pas à récupérer ce champ "Author".  
 
J'ai cherché plusieurs fois sur Google des exemples ou regarder l'aide MSDN mais cela sans succès.  
Je suis sous Visual Studio 2017, voici mon code:
Code :
 - using System;
 - using System.IO;
 - using System.Reflection;
 - using nmOfficeCore  = Microsoft.Office.Core;
 - using nmOfficeWord  = Microsoft.Office.Interop.Word;
 - using nmOfficeWDoc  = Microsoft.Office.Interop.Word.Document;
 - using nmDatGrdVwRow = System.Windows.Forms.DataGridViewRow;
 - namespace MyNmClass1
 - {
 -     class MyClass1
 -     {
 -         private string _MyAuthor;
 -        
 -         public void GetParams()
 -         {
 -             object oMissing = Missing.Value;
 -             string ThisAuthor;
 -             // Object Instantiation & Variables
 -             nmOfficeWord.Application MyWrdAppli  = new nmOfficeWord.Application { Visible = true };
 -             nmOfficeWDoc MyWrdDoc = new nmOfficeWord.Document();
 -             Microsoft.Office.Core.DocumentProperties MyWrdCustProp = (Microsoft.Office.Core.DocumentProperties) MyWrdDoc.CustomDocumentProperties;
 -             // Open the file
 -             MyWrdAppli.Documents.Open(@"C:\Essai_01.docx", ReadOnly: true);
 -             // Get all the User Custom Params
 -             this._MyAuthor  = MyWrdCustProp["Author"].Value;
 -             // Close the Reading Sheet
 -             MyWrdDoc.Close();
 -             MyWrdAppli.Quit();
 -         }
 -     }
 - }
 
  | 
 
Je prends l'erreur suivante lors de l'execution:
System.Runtime.InteropServices.COMException : 'L’appel a été rejeté par l’appelé. (Exception de HRESULT : 0x80010001 (RPC_E_CALL_REJECTED))'
 
En regardant sur les forums, il est dit qu'il faut remplacer:
Code :
 - Microsoft.Office.Core.DocumentProperties MyWrdCustProp = (Microsoft.Office.Core.DocumentProperties) MyWrdDoc.CustomDocumentProperties;
 
  | 
par
Code :
 - object MyWrdCustProp = (Microsoft.Office.Core.DocumentProperties) MyWrdDoc.CustomDocumentProperties;;
 
  | 
 
Ce qui provoque le message de compilation suivant:  
Erreur CS0021 Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'object'  
  
 
Pouvez-vous svp me dire quel est mon erreur et pourquoi le compilo hurle ?
 
Merci d'avance pour votre aide.
 
Message édité par sined40 le 03-10-2017 à 00:21:02