Přehled hostitelských položek a ovládacích prvků hostitele

Hostitelské položky a ovládací prvky hostitele jsou typy, které pomáhají poskytovat programovací model pro řešení Office vytvořená pomocí vývojových nástrojů Office v sadě Visual Studio. Hostitelské položky a ovládací prvky hostitele umožňují interakci s objektovými modely systém Microsoft Office Wordu a systém Microsoft Office Excelu, které jsou založené na modelu COM, podobně jako interakce se spravovanými objekty, jako jsou model Windows Forms ovládací prvky.

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

Položky hostitele

Hostitelské položky jsou typy, které jsou v horní části hierarchií objektového modelu v projektech Office. Visual Studio Tools for Office runtime definuje následující hostitelské položky pro řešení Wordu a Excelu:

  • Document

  • Workbook

  • Worksheet

  • ChartSheet

    Každý z těchto typů rozšiřuje objekt, který existuje nativně v objektovém modelu Aplikace Word nebo Excel, označovaný jako nativní objekt Office. Například Document položka hostitele rozšiřuje Document objekt, který je definován v primárním sestavení vzájemné spolupráce pro Word.

    Hostitelské položky mají obecně stejné základní funkce jako odpovídající objekty Office, ale jsou vylepšené následujícími funkcemi:

  • Možnost hostovat spravované ovládací prvky, včetně hostitelských ovládacích prvků a ovládacích prvků model Windows Forms

  • Bohatší modely událostí. Některé události dokumentu, sešitu a listu v nativních objektových modelech Wordu a Excelu jsou vyvolány pouze na úrovni aplikace. Hostitelské položky poskytují tyto události na úrovni dokumentu, aby bylo snazší zpracovat události pro konkrétní dokument.

Principy položek hostitele v projektech na úrovni dokumentu

V projektech na úrovni dokumentu poskytují položky hostitele vstupní bod pro váš kód a mají návrháře, kteří vám pomůžou vyvíjet vaše řešení.

Položky hostitelů DocumentWorksheet mají přidružené návrháře, kteří jsou vizuální reprezentací dokumentu nebo listu, jako je návrhář model Windows Forms. Pomocí tohoto návrháře můžete upravit obsah dokumentu nebo listu přímo ve Wordu nebo Excelu a přetáhnout ovládací prvky na návrhovou plochu. Další informace najdete v tématu Položka hostitele dokumentu a Položka hostitele listu.

Hostitelská Workbook položka nefunguje jako kontejner pro ovládací prvky, které mají uživatelské rozhraní. Místo toho návrhář této položky hostitele funguje jako zásobník součástí, který umožňuje přetáhnout komponentu, jako DataSetje například , na návrhovou plochu. Další informace naleznete v tématu Položku hostitele sešitu.

Položky hostitele nelze v projektech na úrovni dokumentů vytvářet programově. Místo toho použijte ThisDocumenttřídy , ThisWorkbooknebo Sheetn , které Visual Studio automaticky generuje v projektu v době návrhu. Tyto generované třídy jsou odvozeny z položek hostitele a poskytují vstupní bod pro váš kód. Další informace naleznete v tématu Programová omezení hostitelských položek a hostitelských ovládacích prvků.

Principy položek hostitele v projektech doplňků VSTO

Při vytváření doplňku VSTO nemáte ve výchozím nastavení přístup k žádným položkám hostitele. Můžete ale vygenerovat DocumentWorkbooka hostovat položky v doplňkech Wordu a Worksheet Excelu VSTO za běhu.

Po vygenerování položky hostitele můžete provádět úlohy, jako je přidání ovládacích prvků do dokumentů. Další informace naleznete v tématu Rozšíření wordových dokumentů a excelových sešitů v doplňkech VSTO za běhu.

Hostitelské ovládací prvky

Ovládací prvky hostitele rozšiřují různé objekty uživatelského rozhraní (UI) v modelech objektů Wordu a Excelu, jako Microsoft.Office.Interop.Word.ContentControl jsou a Range objekty.

Pro excelové projekty jsou k dispozici následující ovládací prvky hostitele:

Poznámka:

Přidání hostitelských ovládacích prvků nebo ovládacích prvků model Windows Forms do dokumentu aplikace Word není podporováno.

Přidání hostitelských ovládacích prvků do dokumentů

V projektech na úrovni dokumentů můžete přidávat ovládací prvky hostitele do wordových dokumentů nebo excelových listů v době návrhu následujícími způsoby:

Ovládací prvky hostitele názvů

Když přetáhnete ovládací prvek hostitele z panelu nástrojů do dokumentu, ovládací prvek se automaticky pojmenuje pomocí typu ovládacího prvku s přírůstkovým číslem na konci. Například záložky mají název bookmark1, bookmark2 atd. Pokud k přidání ovládacího prvku použijete nativní funkci Wordu nebo Excelu, můžete mu dát konkrétní název v okamžiku, kdy ho vytvoříte. Ovládací prvky můžete také přejmenovat změnou hodnoty vlastnosti Name v okně Vlastnosti .

Poznámka:

Rezervovaná slova nelze použít k pojmenování ovládacích prvků hostitele. Pokud například přidáte NamedRange ovládací prvek do listu a změníte název na Systém, při sestavování projektu dojde k chybám.

Odstranění hostitelských ovládacích prvků

V projektech na úrovni dokumentů můžete odstranit ovládací prvky hostitele v době návrhu tak, že vyberete ovládací prvek na listu Excelu nebo wordovém dokumentu a stisknete klávesu Delete . K odstranění NamedRange ovládacích prvků však musíte použít dialogové okno Definovat název v Aplikaci Excel.

Pokud přidáte ovládací prvek hostitele do dokumentu v době návrhu, neměli byste ho programově odebrat při spuštění, protože při příštím pokusu o použití ovládacího prvku v kódu se vyvolá výjimka. Metoda Delete ovládacího prvku hostitele odebere pouze hostitelské ovládací prvky, které jsou přidány do dokumentu za běhu. Pokud zavoláte Delete metodu ovládacího prvku hostitele, který byl vytvořen v době návrhu, vyvolá se výjimka.

Například Delete metoda NamedRange pouze úspěšně odstraní NamedRange , pokud byla programově přidána do listu, což se označuje jako dynamické vytváření hostitelských ovládacích prvků. Dynamicky vytvořené hostitelské ovládací prvky lze také odebrat předáním názvu ovládacího prvku metodě RemoveControls nebo Controls vlastnosti. Další informace naleznete v tématu Přidání ovládacích prvků do dokumentů Office za běhu.

Pokud koncoví uživatelé odstraní ovládací prvek hostitele z dokumentu za běhu, řešení může selhat neočekávanými způsoby. Funkce ochrany dokumentů ve Wordu a Excelu můžete použít k ochraně hostitelských ovládacích prvků před odstraněním. Další informace najdete v ukázkách a návodech pro vývoj pro Office.

Poznámka:

Ovládací prvky během Shutdown obslužné rutiny události dokumentu nebo listu neodebídejte programově. Prvky uživatelského rozhraní už nejsou k dispozici, když dojde k Shutdown události. 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.

Program proti událostem řízení hostitele

Jedním ze způsobů, jak hostitelské ovládací prvky rozšiřují objekty Office, je přidání událostí. Například objekt v Excelu a Bookmark objektu ve Wordu Range nemá události, ale Visual Studio Tools for Office runtime tyto objekty rozšiřuje přidáním programovatelných událostí. K těmto událostem a kódu můžete přistupovat stejným způsobem jako k událostem ovládacích prvků v model Windows Forms: prostřednictvím rozevíracího seznamu událostí v jazyce Visual Basic a stránky vlastností události v jazyce C#. Další informace naleznete v tématu Návod: Program proti událostem ovládacího prvku NamedRange.

Poznámka:

Neměli byste nastavit EnableEvents vlastnost objektu Application v Aplikaci Excel na hodnotu false. Nastavením této vlastnosti na false zabrání excelu v vyvolání jakýchkoli událostí, včetně událostí hostitelských ovládacích prvků.