Share via


Události v projektech Office

Každá šablona projektu Office automaticky generuje několik obslužných rutin událostí. Obslužné rutiny událostí pro přizpůsobení na úrovni dokumentu se mírně liší od obslužných rutin událostí pro doplňky VSTO.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO. Viz Funkce dostupné podle typu aplikace Office lication a projektu.

Projekty na úrovni dokumentu

Visual Studio poskytuje vygenerovaný kód za novými nebo existujícími dokumenty nebo listy v přizpůsobeních na úrovni dokumentu. Tento kód vyvolá dvě různé události: spuštění a vypnutí.

událost spuštění

Událost Po spuštění je vyvolána pro každou položku hostitele (dokument, sešit nebo list) po spuštění dokumentu a byl spuštěn veškerý inicializační kód v sestavení. Je to poslední věc, kterou je třeba spustit v konstruktoru třídy, ve které je váš kód spuštěný. Další informace o položkách hostitele najdete v tématu Přehled položek hostitele a ovládacích prvků hostitele.

Při vytváření projektu na úrovni dokumentu vytvoří Visual Studio obslužné rutiny událostí pro událost Po spuštění ve vygenerovaných souborech kódu:

  • U systém Microsoft Office projektů aplikace Word je obslužná rutina události pojmenována ThisDocument_Startup.

  • U systém Microsoft Office excelových projektů mají obslužné rutiny událostí následující názvy:

    • Sheet1_Startup

    • Sheet2_Startup

    • Sheet3_Startup

    • ThisWorkbook_Startup

událost vypnutí

Událost Vypnutí se vyvolá pro každou položku hostitele (dokument nebo list), když se chystá uvolnit doménu aplikace, do které je váš kód načten. Je to poslední věc, kterou je třeba volat ve třídě při uvolnění.

Při vytváření projektu na úrovni dokumentu vytvoří Visual Studio obslužné rutiny událostí pro událost Shutdown ve vygenerovaných souborech kódu:

  • U systém Microsoft Office projektů aplikace Word je obslužná rutina události pojmenována ThisDocument_Shutdown.

  • U systém Microsoft Office excelových projektů mají obslužné rutiny událostí následující názvy:

    • Sheet1_Shutdown

    • Sheet2_Shutdown

    • Sheet3_Shutdown

    • ThisWorkbook_Shutdown

Poznámka:

Ovládací prvky během obslužné rutiny události Vypnutí dokumentu neodstraňujte programově. Prvky uživatelského rozhraní dokumentu už nejsou k dispozici, když dojde k události Vypnutí . Pokud chcete ovládací prvky před ukončením aplikace odebrat, přidejte kód do jiné obslužné rutiny události, například BeforeClose nebo BeforeSave.

Deklarace metody obslužné rutiny události

Každá deklarace metody obslužné rutiny události má stejné argumenty, které jí předají: odesílatel a e. Argument odesílatele v Excelu odkazuje na list, například Sheet1 nebo Sheet2; ve Wordu, argument odesílatele odkazuje na dokument. Argument e odkazuje na standardní argumenty události, které se v tomto případě nepoužívají.

Následující příklad kódu ukazuje výchozí obslužné rutiny událostí v projektech na úrovni dokumentu pro Word.

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
}

private void ThisDocument_Shutdown(object sender, System.EventArgs e)
{
}

Následující příklad kódu ukazuje výchozí obslužné rutiny událostí v projektech na úrovni dokumentu pro Excel.

Poznámka:

Následující příklad kódu ukazuje obslužné rutiny událostí ve Sheet1 třídě. Názvy obslužných rutin událostí v jiných třídách položek hostitele odpovídají názvu třídy. Například ve Sheet2 třídě je obslužná rutina spouštěcí události pojmenována Sheet2_Startup. ThisWorkbook Ve třídě je obslužná rutina spouštěcí události pojmenována ThisWorkbook_Startup.

private void Sheet1_Startup(object sender, System.EventArgs e)
{
}

private void Sheet1_Shutdown(object sender, System.EventArgs e)
{
}

Pořadí událostí v excelových projektech na úrovni dokumentu

Obslužné rutiny událostí po spuštění v projektech aplikace Excel jsou volána v tomto pořadí:

  1. ThisWorkbook_Startup.

  2. Sheet1_Startup.

  3. Sheet2_Startup.

  4. Sheet3_Startup.

  5. Ostatní listy v pořadí.

    Obslužné rutiny událostí vypnutí v řešení sešitu se volají v tomto pořadí:

  6. ThisWorkbook_Shutdown.

  7. Sheet1_Shutdown.

  8. Sheet2_Shutdown.

  9. Sheet3_Shutdown.

  10. Ostatní listy v pořadí.

    Pořadí je určeno při kompilaci projektu. Pokud uživatel změní uspořádání listů za běhu, nezmění pořadí, v jakém jsou události vyvolány při příštím otevření nebo zavření sešitu.

Projekty doplňků VSTO

Visual Studio poskytuje vygenerovaný kód v doplňcích VSTO. Tento kód vyvolá dvě různé události: Startup a Shutdown.

událost spuštění

Událost Startup se vyvolá po načtení doplňku VSTO a spuštění veškerého inicializačního kódu v sestavení. Tuto událost zpracovává ThisAddIn_Startup metoda ve vygenerovaném souboru kódu.

Kód v obslužné rutině ThisAddIn_Startup události je prvním uživatelským kódem, který se má spustit, pokud váš doplněk VSTO nepřepíše metodu RequestComAddInAutomationService . V tomto případě je obslužná rutina ThisAddIn_Startup události volána za RequestComAddInAutomationService.

Nepřidávejte kód do ThisAdd-In_Startup obslužné rutiny události, 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. Další informace najdete v tématu Přístup k dokumentu při spuštění aplikace Office lication.

Další informace o spouštěcí sekvenci doplňků VSTO naleznete v tématu Architektura doplňků VSTO.

událost vypnutí

Událost Shutdown se vyvolá, když se chystá uvolnit doménu aplikace, do které je váš kód načtený. Tuto událost zpracovává ThisAddIn_Shutdown metoda ve vygenerovaném souboru kódu. Tato obslužná rutina události je posledním uživatelským kódem, který se spustí při uvolnění doplňku VSTO.

Událost vypnutí v doplňkech VSTO v Outlooku

Událost Shutdown se vyvolá pouze v případě, že uživatel zakáže doplněk VSTO pomocí dialogového okna Doplňky modelu COM v Outlooku. Při ukončení Outlooku se nevyvolá. Pokud máte kód, který se musí spustit při ukončení Outlooku, zpracujte jednu z následujících událostí:

Poznámka:

Aplikaci Outlook můžete vynutit, aby Shutdown vyvolal událost, když se ukončí, úpravou registru. Pokud se ale správce vrátí k tomuto nastavení, veškerý kód, který do ThisAddIn_Shutdown metody přidáte, se po ukončení Outlooku už nespustí. Další informace najdete v tématu Změny vypnutí aplikace Outlook 2010.