Al momento sei offline in attesa che la connessione Internet venga ristabilita

How to Utilizzare l'automazione per ottenere e impostare proprietà di un documento di Office con Visual C# .NET

Questo articolo è stato precedentemente pubblicato con il codice di riferimento I303296
Sommario
In questo articolo viene dimostrato come creare un client di automazione in Visual C# .NET che modifica le proprietà di un documento di Word. Sebbene il codice di esempio si riferisca esplicitamente a Word, è possibile utilizzare le stesse tecniche per automatizzare Excel e PowerPoint.
Informazioni

Creare un client di automazione per Microsoft Word

  1. Avviare Visual Studio .NET. ScegliereNuovodal menuFile, quindi scegliereProgetto. SelezionareApplicazione Windowsdai tipi di progetto Visual C#.Form1viene creato per impostazione predefinita.
  2. Aggiungere un riferimento allaLibreria oggetti di Microsoft Word. Per eseguire questa operazione, attenersi alla seguente procedura:
    1. ScegliereAggiungi riferimentodal menuProgetto.
    2. Nella schedaCOMindividuareMicrosoft Word Object Librarye scegliereSeleziona.

      NOTA: la Libreria oggetti di Microsoft Word contiene un numero di versione. Il numero di versione per Word 2000 è 9.0, mentre quello per Word 2002 è 10.0.
    3. ScegliereOKnella finestra di dialogoAggiungi riferimentoper confermare le selezioni. Se viene richiesto di generare wrapper per le librerie selezionate, scegliere.
  3. ScegliereCasella degli strumentidal menuVisualizzaper visualizzare la Casella degli strumenti e aggiungere un pulsante a Form1.
  4. Fare doppio clic suButton1. Verrà visualizzata la finestra del codice del form.
  5. Nella finestra del codice sostituire il codice seguente
    private void button1_Click(object sender, System.EventArgs e){}
    con:
    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);}

  6. con:Scorrere verso l'alto la pagina del codice e aggiungere le righe seguenti alla fine dell'elenco delle direttiveusing.Per Word 2000:
    using System.Reflection;using Office;  //Office 2000
    Per Word 2002:
    using System.Reflection;using Microsoft.Office.Core; //Office XP
  7. con:Premere F5 per eseguire l'applicazione.
NOTA: le interfacceDocumentPropertieseDocumentPropertysono interfacce ad associazione tardiva. Per utilizzarle, è necessario trattarle al pari di un'interfacciaIDispatch.
Riferimenti
Per ulteriori informazioni, visitare il seguente sito Web Microsoft Developer Network (MSDN) (informazioni in lingua inglese):
Microsoft Office Development with Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito (gli articoli con prefisso "Q" contengono informazioni in inglese):
303294 How to Use Automation to Get and Set Office Document Properties with Visual Basic .NET
Proprietà

ID articolo: 303296 - Ultima revisione: 06/29/2007 04:01:00 - Revisione: 5.2

  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
  • kbhowto kbautomation _ik11561 kbword kbexcel kbgrpdso KB303296
Feedback