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í:
ThisWorkbook_Startup
.Sheet1_Startup
.Sheet2_Startup
.Sheet3_Startup
.Ostatní listy v pořadí.
Obslužné rutiny událostí vypnutí v řešení sešitu se volají v tomto pořadí:
ThisWorkbook_Shutdown
.Sheet1_Shutdown
.Sheet2_Shutdown
.Sheet3_Shutdown
.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í:
Událost Quit objektu Application .
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.