Jak použít automatizaci k Get a nastavit vlastnosti dokumentu Office s Visual C# .NET

Souhrn

Tento článek ukazuje, jak vytvořit Microsoft Visual C# .NET automatizace klienta, který manipuluje s vlastností dokumentu aplikace Microsoft Word. Ačkoli ukázkový kód je specifický pro aplikaci Word, lze použít stejné postupy při automatizaci aplikace Microsoft Excel a Microsoft PowerPoint.

Další informace

Vytvoření klienta automatizace aplikace Microsoft Word

  1. Spusťte aplikaci Visual Studio .NET.
  2. V nabídce soubor klepněte na příkaz Novýa klepněte na příkaz projekt. Vyberte Aplikace Windows z typů projektu programu Visual C#. Ve výchozím nastavení je vytvořen formulář Form1.
  3. Přidejte odkaz na Objektové knihovny Microsoft Word. Chcete-li to provést, postupujte takto:
    1. V nabídce projekt klepněte na tlačítko Přidat odkaz.
    2. Na kartě COM vyhledejte Objektové knihovny Microsoft Worda potom klepněte na tlačítko Vybrat.

      Poznámka: Microsoft Office 2003 zahrnuje primární sestavení Interop (PIA). Microsoft Office XP nezahrnuje sestavení PIA, ale mohou být staženy.
      Další informace o sestaveních PIA sady Office XP klepněte na následující číslo článku znalostní báze Microsoft Knowledge Base:
      328912 INFO: Microsoft Office XP PIA jsou k dispozici ke stažení
    3. Klepněte na tlačítko OK v dialogovém okně Přidat odkazy potvrďte výběr. Pokud se zobrazí výzva ke generování obálky pro vybrané knihovny, klepněte na tlačítko Ano.
  4. V nabídce Zobrazit vyberte zobrazení panelu nástrojů a pak přidejte tlačítko do formuláře Form1.
  5. Poklepejte na Button1. Zobrazí se okno kód pro formulář.
  6. V okně kódu nahraďte následující kód
    private void button1_Click(object sender, System.EventArgs e){
    }

    s:
    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. Přejděte do horní části okna kód a potom přidejte následující řádky na konec seznamu pomocí direktivy:
    using Microsoft.Office.Core;using Word = Microsoft.Office.Interop.Word;
    using System.Reflection;

  8. Stisknutím klávesy F5 spusťte aplikaci.
Poznámka: DocumentProperties a DocumentProperty rozhraní jsou pozdní vázaných rozhraní. K použití těchto rozhraní, je nutné považovat je stejně jako rozhraní IDispatch .

Odkazy

Další informace naleznete na webu následující webu Microsoft Developer Network:
Vývoj sady Microsoft Office s aplikací Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
Další informace získáte kliknutím na následující číslo v článku databáze Microsoft Knowledge Base:

303294 postup použití automatizace, aby Get a nastavit vlastnosti dokumentu Office s Visual Basic .NET

Vlastnosti

ID článku: 303296 - Poslední kontrola: 20. 1. 2017 - Revize: 2

Váš názor