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

Traduzione articoli Traduzione articoli
Identificativo articolo: 303296 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato precedentemente pubblicato con il codice di riferimento I303296
Espandi tutto | Chiudi tutto

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. Scegliere Nuovo dal menu File, quindi scegliere Progetto. Selezionare Applicazione Windows dai tipi di progetto Visual C#. Form1 viene creato per impostazione predefinita.
  2. Aggiungere un riferimento alla Libreria oggetti di Microsoft Word. Per eseguire questa operazione, attenersi alla seguente procedura:
    1. Scegliere Aggiungi riferimento dal menu Progetto.
    2. Nella scheda COM individuare Microsoft Word Object Library e scegliere Seleziona.

      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. Scegliere OK nella finestra di dialogo Aggiungi riferimento per confermare le selezioni. Se viene richiesto di generare wrapper per le librerie selezionate, scegliere .
  3. Scegliere Casella degli strumenti dal menu Visualizza per visualizzare la Casella degli strumenti e aggiungere un pulsante a Form1.
  4. Fare doppio clic su Button1. 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 direttive using. 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 interfacce DocumentProperties e DocumentProperty sono interfacce ad associazione tardiva. Per utilizzarle, Ŕ necessario trattarle al pari di un'interfaccia IDispatch.

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Ó

Identificativo articolo: 303296 - Ultima modifica: venerdý 29 giugno 2007 - Revisione: 5.2
Le informazioni in questo articolo si applicano a
  • 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
Chiavi:á
kbhowto kbautomation _ik11561 kbword kbexcel kbgrpdso KB303296
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com