Programové doplňky VSTO

Když rozšíříte systém Microsoft Office aplikaci vytvořením doplňku VSTO, napíšete kód přímo proti ThisAddIn třídě v projektu. Tuto třídu můžete použít k provádění úloh, jako je přístup k objektu modelu systém Microsoft Office hostitelské aplikace, přizpůsobení uživatelského rozhraní aplikace a vystavení objektů v doplňku VSTO jiným řešením Office.

Platí pro: Informace v tomto tématu platí pro projekty doplňků VSTO. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Některé aspekty psaní kódu v projektech doplňků VSTO se liší od jiných typů projektů v sadě Visual Studio. Mnohé z těchto rozdílů způsobují způsob, jakým jsou objektové modely Office vystavené spravovanému kódu. Další informace najdete v tématu Psaní kódu v řešeních Office.

Obecné informace o doplňcích VSTO a dalších typech řešení, která můžete vytvořit pomocí vývojových nástrojů Office v sadě Visual Studio, najdete v tématu Přehled vývoje řešení pro Office (VSTO).

Použití třídy ThisAddIn

Do třídy můžete začít psát kód doplňku ThisAddIn VSTO. Visual Studio automaticky vygeneruje tuto třídu v souboru kódu ThisAddIn.vb (v jazyce Visual Basic) nebo ThisAddIn.cs (v jazyce C#) v projektu doplňku VSTO. Visual Studio Tools for Office runtime automaticky vytvoří instanci této třídy za vás, když systém Microsoft Office aplikace načte doplněk VSTO.

Třída obsahuje dva výchozí obslužné rutiny ThisAddIn událostí. Pokud chcete spustit kód při načtení doplňku VSTO, přidejte kód do ThisAddIn_Startup obslužné rutiny události. Pokud chcete spustit kód těsně před uvolněním doplňku VSTO, přidejte kód do ThisAddIn_Shutdown obslužné rutiny události. Další informace o těchto obslužnýchrutinch

Poznámka:

Ve výchozím nastavení se obslužná rutina události ve výchozím nastavení ThisAddIn_Shutdown nevolá při uvolnění doplňku VSTO. Další informace naleznete v tématu Události v projektech Office.

Přístup k objektovém modelu hostitelské aplikace

Pokud chcete získat přístup k objektového modelu hostitelské aplikace, použijte Application pole ThisAddIn třídy. Toto pole vrátí objekt, který představuje aktuální instanci hostitelské aplikace. Následující tabulka uvádí typ návratové hodnoty pro Application pole v každém projektu doplňku VSTO.

Hostitelská aplikace Návratový typ hodnoty
Microsoft Office Excel Application
systém Microsoft Office InfoPath Application
aplikace Microsoft Office Outlook Application
systém Microsoft Office PowerPointu Aplikace
systém Microsoft Office Project Microsoft.Office.Interop.MSProject.Application
systém Microsoft Office Visia Microsoft.Office.Interop.Visio.Application
systém Microsoft Office Wordu Application

Následující příklad kódu ukazuje, jak pomocí Application pole vytvořit nový sešit v doplňku VSTO pro systém Microsoft Office Excelu. Tento příklad je určen ke spuštění ze ThisAddIn třídy.

Excel.Workbook newWorkbook = this.Application.Workbooks.Add(System.Type.Missing);

Chcete-li provést totéž zvnějšku ThisAddIn třídy, použijte Globals objekt pro přístup ThisAddIn ke třídě. Další informace o objektu Globals naleznete v tématu Globální přístup k objektům v projektech Office.

Excel.Workbook newWorkbook = Globals.ThisAddIn.Application.Workbooks.Add(System.Type.Missing);

Další informace o objektových modelech konkrétních aplikací systém Microsoft Office najdete v následujících tématech:

Přístup k dokumentu při spuštění aplikace Office lication

Ne všechny aplikace Office 2010 automaticky otevírají dokument při jejich spuštění a žádné z aplikací Office 2013 při spuštění neotevře dokument. Proto do obslužné rutiny události nepřidávejte kód ThisAdd-In_Startup , pokud kód vyžaduje otevření dokumentu. Místo toho přidejte tento kód do události, kterou aplikace Office licace vyvolá, když uživatel vytvoří nebo otevře dokument. Tímto způsobem můžete zaručit, že je dokument otevřený před provedením operací s ním.

Následující příklad kódu pracuje s dokumentem ve Wordu pouze v případě, že uživatel vytvoří dokument nebo otevře existující dokument.

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);

        ((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
            new Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);  
    }
    
    private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
    {
        try
        {
            Word.Range rng = Doc.Range(0, 0);
            rng.Text = "New Text";
            rng.Select();
        }
        catch (Exception ex)
        {
            // Handle exception if for some reason the document is not available.
        }
    }

Členové ThisAddIn, kteří se mají použít pro jiné úkoly

Následující tabulka popisuje další běžné úlohy a ukazuje, které členy ThisAddIn třídy můžete použít k provádění úkolů.

Úloha Člen, který se má použít
Spusťte kód pro inicializaci doplňku VSTO při načtení doplňku VSTO. Přidejte do ThisAddIn_Startup metody kód. Toto je výchozí obslužná rutina Startup události události. Další informace naleznete v tématu Události v projektech Office.
Spusťte kód pro vyčištění prostředků používaných doplňkem VSTO před uvolněním doplňku VSTO. Přidejte do ThisAddIn_Shutdown metody kód. Toto je výchozí obslužná rutina Shutdown události události. Další informace naleznete v tématu Události v projektech Office. Poznámka: Ve výchozím nastavení se obslužná rutina události ve výchozím nastavení ThisAddIn_Shutdown nevolá vždy, když je doplněk VSTO uvolněn. Další informace naleznete v tématu Události v projektech Office.
Zobrazení vlastního podokna úloh CustomTaskPanes Použijte pole. Další informace naleznete v tématu Vlastní podokna úloh.
Vystavit objekty v doplňku VSTO ostatním systém Microsoft Office řešení. Přepište metodu RequestComAddInAutomationService . Další informace najdete v tématu Volání kódu v doplňkech VSTO z jiných řešení Office.
Přizpůsobení funkce v systému systém Microsoft Office implementací rozhraní rozšiřitelnosti Přepište metodu RequestService pro vrácení instance třídy, která implementuje rozhraní. Další informace naleznete v tématu Přizpůsobení funkcí uživatelského rozhraní pomocí rozhraní rozšiřitelnosti. Poznámka: Chcete-li přizpůsobit uživatelské rozhraní pásu karet, můžete také přepsat metodu CreateRibbonExtensibilityObject .

Principy návrhu třídy ThisAddIn

V projektech, které cílí na rozhraní .NET Framework 4, AddIn je rozhraní. Třída ThisAddIn je odvozena od AddInBase třídy. Tato základní třída přesměruje všechna volání členů na interní implementaci AddIn rozhraní v sadě Visual Studio Tools for Office runtime .

V projektech doplňků VSTO pro Outlook je třída odvozena od Microsoft.Office.Tools.Outlook.OutlookAddIn třídy v projektech, ThisAddIn které cílí na rozhraní .NET Framework 3.5, a z OutlookAddInBase projektů, které cílí na rozhraní .NET Framework 4. Tyto základní třídy poskytují některé další funkce pro podporu oblastí formulářů. Další informace o oblastech formulářů naleznete v tématu Vytvoření oblastí formuláře aplikace Outlook.

Přizpůsobení uživatelského rozhraní aplikací systém Microsoft Office

Uživatelské rozhraní systém Microsoft Office aplikací můžete programově přizpůsobit pomocí doplňku VSTO. Pás karet můžete například přizpůsobit, zobrazit vlastní podokno úloh nebo vytvořit vlastní oblast formuláře v Outlooku. Další informace najdete v tématu Přizpůsobení uživatelského rozhraní Office.

Visual Studio poskytuje návrháře a třídy, které můžete použít k vytváření vlastních podoken úloh, přizpůsobení pásu karet a oblastí formulářů Outlooku. Tito návrháři a třídy pomáhají zjednodušit proces přizpůsobení těchto funkcí. Další informace najdete v tématu Vlastní podokna úloh, Návrhář pásu karet a Vytváření oblastí formulářů Aplikace Outlook.

Pokud chcete některou z těchto funkcí přizpůsobit způsobem, který třídy a návrháři nepodporují, můžete tyto funkce také přizpůsobit implementací rozhraní rozšiřitelnosti v doplňku VSTO. Další informace naleznete v tématu Přizpůsobení funkcí uživatelského rozhraní pomocí rozhraní rozšiřitelnosti.

Kromě toho můžete upravit uživatelské rozhraní wordových dokumentů a excelových sešitů generováním hostitelských položek, které rozšiřují chování dokumentů a sešitů. To umožňuje přidávat spravované ovládací prvky do dokumentů a listů. Další informace naleznete v tématu Rozšíření wordových dokumentů a excelových sešitů v doplňkech VSTO za běhu.

Volání kódu v doplňcích VSTO z jiných řešení

Objekty v doplňku VSTO můžete vystavit jiným řešením, včetně jiných řešení Office. To je užitečné v případě, že doplněk VSTO poskytuje službu, kterou chcete povolit jiným řešením. Pokud máte například doplněk VSTO pro systém Microsoft Office Excelu, který provádí výpočty s finančními daty z webové služby, můžou ostatní řešení tyto výpočty provádět voláním doplňku VSTO excelu za běhu.

Další informace najdete v tématu Volání kódu v doplňkech VSTO z jiných řešení Office.