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:
-
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ů Document Worksheet 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 ThisDocument
třídy , ThisWorkbook
nebo Sheet
n , 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:
XmlMappedRange – ovládací prvek
Pro projekty Wordu jsou k dispozici následující hostitelské ovládací prvky:
-
Hostitelské ovládací prvky přidané do dokumentů Office se chovají jako nativní objekty Office. Ovládací prvky hostitele ale mají další funkce, včetně událostí a možností vazby dat. Pokud například chcete zachytit události nativního Range objektu v Aplikaci Excel, musíte nejprve zpracovat událost změny listu. Pak musíte určit, zda došlo ke změně v rámci Range. Naproti tomu ovládací prvek hostitele má Change událost, NamedRange kterou můžete zpracovat přímo.
Relace mezi položkou hostitele a ovládacími prvky hostitele se podobá relaci mezi formulářem Windows a model Windows Forms ovládacími prvky. Stejně jako byste umístili ovládací prvek textového pole do formuláře Windows Form, umístíte NamedRange ovládací prvek na Worksheet položku hostitele. Následující obrázek znázorňuje vztah mezi položkami hostitele a hostitelskými ovládacími prvky.
Ovládací prvky model Windows Forms v řešeních Office můžete také použít tak, že je přidáte přímo na plochu wordového a excelového dokumentu. Další informace najdete v tématu model Windows Forms ovládací prvky v přehledu dokumentů Office.
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:
Přidejte do dokumentu ovládací prvky hostitele v době návrhu stejným způsobem, jakým byste přidali nativní objekt.
Přetáhněte ovládací prvky hostitele ze sady nástrojů na dokumenty a listy. Hostitelské ovládací prvky aplikace Excel jsou k dispozici na kartě Ovládací prvky aplikace Excel v projektech Aplikace Excel a ovládací prvky hostitele Aplikace Word jsou k dispozici na kartě Ovládací prvky aplikace Word v projektech aplikace Word.
Přetáhněte ovládací prvky hostitele z okna Zdroje dat do dokumentů a listů. To umožňuje přidat ovládací prvky, které jsou již svázané s daty. Další informace najdete v tématu Vytvoření vazby dat k ovládacím prvkům v řešeních Office.
V projektech doplňků na úrovni dokumentů a VSTO můžete do dokumentů přidat také některé ovládací prvky hostitele za běhu. Další informace naleznete v tématu Přidání ovládacích prvků do dokumentů Office za běhu.
Další informace o tom, jak přidat ovládací prvky hostitele do dokumentů, najdete v následujících tématech:
Postupy: Přidání ovládacích prvků záložky do wordových dokumentů
Postupy: Přidání ovládacích prvků obsahu do wordových dokumentů
Postupy: Přidání ovládacích prvků XMLNode do dokumentů aplikace Word
Postupy: Přidání ovládacích prvků XMLNodes do wordových dokumentů
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ě Remove
Controls 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ů.
Související obsah
- Programová omezení hostitelských položek a hostitelských ovládacích prvků
- Programové doplňky VSTO
- Přizpůsobení na úrovni dokumentu programu
- Automatizace Wordu pomocí rozšířených objektů
- Automatizace Excelu pomocí rozšířených objektů
- Ovládací prvky v dokumentech Office
- Vytvoření vazby dat k ovládacím prvkům v řešeních Office