Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire pour utiliser Automation pour obtenir et définir les propriétés de documents Office à l'aide de Visual C# .NET

Ancien nº de publication de cet article : F303296
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Résumé
Cet article décrit comment créer un client Automation Microsoft Visual C# .NET qui manipule les propriétés d'un document Microsoft Word. Bien que l'exemple de code soit spécifique à Word, les mêmes techniques peuvent être appliquées pour l'automatisation de Microsoft Excel et Microsoft PowerPoint.
Plus d'informations

Création d'un client Automation pour Microsoft Word

  1. Démarrez Visual Studio .NET.
  2. Dans le menu Fichier, cliquez sur Nouveau, puis sur Projet. Sélectionnez Application Windows dans les types de projets Visual C#. Form1 est créé par défaut.
  3. Ajoutez une référence à la Bibliothèque d'objets Microsoft Word. Pour cela, procédez comme suit :
    1. Dans le menu Projet, cliquez sur Ajouter une référence.
    2. Sous l'onglet COM, recherchez Bibliothèque d'objets Microsoft Word, puis cliquez sur Sélectionner.

      Remarque Microsoft Office 2003 inclut des assemblys PIA (Primary Interop Assemblies). Microsoft Office XP n'inclut pas d'assemblys PIA, mais ils peuvent être téléchargés. Pour plus d'informations sur les assemblys PIA Office XP, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
      328912INFO : Assemblys PIA Microsoft Office XP disponibles pour téléchargement
    3. Cliquez sur OK dans la boîte de dialogue Ajouter une référence pour accepter vos sélections. Si vous êtes invité à générer des wrappers pour les bibliothèques que vous avez sélectionnées, cliquez sur Oui.
  4. Dans le menu Affichage, sélectionnez Boîte à outils pour afficher la boîte à outils, puis ajoutez un bouton à Form1.
  5. Double-cliquez sur Button1. La fenêtre de code du formulaire s'affiche.
  6. Dans la fenêtre de code, remplacez le code suivant
    private void button1_Click(object sender, System.EventArgs e){}					
    par :
    private void button1_Click(object sender, System.EventArgs e){   Word.Application oWord;   Word._Document oDoc;   object oMissing = Missing.Value;   object oDocBuiltInProps;   object oDocCustomProps;			   //Create an instance of Microsoft Word and make it visible.   oWord = new Word.Application();   oWord.Visible = true;   //Create a new Document and get the BuiltInDocumentProperties collection.   oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing,                               ref oMissing);   oDocBuiltInProps = oDoc.BuiltInDocumentProperties;   Type typeDocBuiltInProps = oDocBuiltInProps.GetType();   //Get the Author property and display it.   string strIndex = "Author";   string strValue;   object oDocAuthorProp = typeDocBuiltInProps.InvokeMember("Item",                               BindingFlags.Default |                               BindingFlags.GetProperty,                               null,oDocBuiltInProps,                               new object[] {strIndex} );   Type typeDocAuthorProp = oDocAuthorProp.GetType();   strValue = typeDocAuthorProp.InvokeMember("Value",                               BindingFlags.Default |                              BindingFlags.GetProperty,                              null,oDocAuthorProp,                              new object[] {} ).ToString();   MessageBox.Show( "The Author is: " + strValue,"Author" );   //Set the Subject property.   strIndex = "Subject";   strValue = "The Subject";   typeDocAuthorProp.InvokeMember("Item",                               BindingFlags.Default |                               BindingFlags.SetProperty,                               null,oDocBuiltInProps,                               new object[] {strIndex,strValue} );			   //Add a property/value pair to the CustomDocumentProperties collection.   oDocCustomProps = oDoc.CustomDocumentProperties;   Type typeDocCustomProps = oDocCustomProps.GetType();   strIndex = "Knowledge Base Article";   strValue = "Q303296";   object[] oArgs = {strIndex,false,                     MsoDocProperties.msoPropertyTypeString,                     strValue};   typeDocCustomProps.InvokeMember("Add",BindingFlags.Default |                               BindingFlags.InvokeMethod, null,                               oDocCustomProps, oArgs );   MessageBox.Show("Select \"Properties\" from the File menu "        + "to view the changes.\nSelect the Summary tab to view "        + "the Subject property and the Custom tab to view the Knowledge"           + "Base Article property.", "Check File Properties",        MessageBoxButtons.OK,MessageBoxIcon.Information);}					
  7. Faites défiler la page jusqu'en haut de la fenêtre de code, puis ajoutez les lignes suivantes à la fin de la liste de directives using :
    using Microsoft.Office.Core;using Word = Microsoft.Office.Interop.Word;using System.Reflection;					
  8. Appuyez sur F5 pour exécuter l'application.
Remarque Les interfaces DocumentProperties et DocumentProperty sont des interfaces à liaison tardive. Pour les utiliser, vous devez les traiter comme des interfaces IDispatch.
Références
Pour plus d'informations, reportez-vous au site Web MSDN (Microsoft Developer Network) à l'adresse suivante (en anglais) :
Microsoft Office Development with Visual Studio (Développement de Microsoft Office avec Visual Studio)
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
303294Comment faire pour utiliser Automation pour obtenir et définir les propriétés de documents Office à l'aide de Visual Basic .NET
xl2003 ppt2003 wd2003
Propriétés

ID d'article : 303296 - Dernière mise à jour : 12/06/2015 03:53:35 - Révision : 6.2

  • Microsoft Visual C# .NET 2003 Initiation
  • Microsoft Visual C# .NET 2002 Initiation
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard
  • Microsoft Office Word 2003
  • Microsoft Word 2002 Standard Edition
  • kbnosurvey kbarchive kbpia kbautomation kbhowto KB303296
Commentaires
ttp://go.microsoft.com/?linkid=9851308" class="ctl_footerNavLink" data-bi-name="Footer_Trademarks" data-bi-slot="3"> Marques commerciales
  • © 2015 Microsoft