Přidání ovládacích prvků do dokumentů Office za běhu
Můžete přidat ovládací prvky dokumentu Microsoft Office Word a Microsoft Office Excel sešit v době běhu.Je možné odebrat v době běhu.Přidat nebo odebrat za běhu ovládací prvky nazývají dynamické ovládací prvky.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v těchto aplikacích: Excel 2013 a Excel 2010; Word 2013 a Word 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.
Toto téma popisuje následující:
Správa ovládací prvky za běhu pomocí kolekce ovládacích.
Přidání ovládacích prvků hostitele dokumenty.
Přidání ovládacích prvků model Windows Forms dokumenty.
Související video ukázku naleznete v tématu jak udělat I: přidat prvky dokumentu povrch běhu?.
Správa ovládací prvky za běhu pomocí kolekce ovládacího prvku
Přidat, načíst nebo odebrat ovládací prvky za běhu, použijte pomocné metody ControlCollection a ControlCollection objekty.
Přístup k těmto objektům závisí na typu projektu, který vyvíjíte:
V projektu úroveň dokument pro aplikaci Excel použít Worksheet.Controls vlastnost Sheet1, Sheet2, a Sheet3 třídy.Více informací o těchto třídách naleznete v tématu: Hostitelská položka Worksheet.
V projektu na úrovni dokumentu aplikace Word, použijte Document.Controls vlastnost ThisDocument třídy.Další informace o této třídy, viz Hostitelská položka Document.
V úrovni aplikace project pro aplikaci Excel nebo Word, použijte Controls vlastnost Worksheet nebo Document , generovat v době běhu.Další informace o vytváření těchto objektů v době spuštění naleznete v Rozšíření dokumentů aplikace Word a sešitů aplikace Excel v doplňcích na úrovni aplikace za běhu.
Přidání ovládacích prvků
ControlCollection a ControlCollection typy zahrnují pomocné metody, které můžete přidat ovládací prvky hostitel a společné model Windows Forms dokumenty a listy.Každý název metody má formát Addovládací prvek třídy, kde třídy ovládacího prvku je název třídy ovládacího prvku, který chcete přidat. Například přidat NamedRange dokumentu, použijte ovládací prvek AddNamedRange metoda.
Následující příklad kódu přidává NamedRange na Sheet1 v projektu úroveň dokument pro aplikaci Excel.
Dim range1 As Excel.Range = Globals.Sheet1.Range("A1", "D5")
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Globals.Sheet1.Controls.AddNamedRange(range1, "ChartSource")
Excel.Range range1 = Globals.Sheet1.Range["A1", "D5"];
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
Globals.Sheet1.Controls.AddNamedRange(range1, "ChartSource");
Přístup a odstranění ovládacích prvků
Můžete použít Controls vlastnost Worksheet nebo Document iterovat přes ovládací prvky v dokumentu, včetně ovládacích prvků, které jste přidali v době návrhu.Ovládací prvky, které přidáte v době návrhu se také nazývají statické ovládací prvky.
Dynamické ovládací prvky můžete odebrat pomocí volání Delete metodu ovládacího prvku nebo voláním Remove metoda každého Controls kolekce.Následující příklad kódu používá Remove způsob odebrání NamedRange z Sheet1 v projektu úroveň dokument pro aplikaci Excel.
Globals.Sheet1.Controls.Remove("ChartSource")
Globals.Sheet1.Controls.Remove("ChartSource");
Nelze odebrat statické ovládací prvky za běhu.Pokud se pokusíte použít Delete nebo Remove způsob odebrání statického ovládacího prvku CannotRemoveControlException bude vyvolána výjimka.
[!POZNÁMKA]
Programové odebrání ovládacích prvků Shutdown obslužné rutiny události dokumentu.Prvky uživatelského rozhraní dokumentu již nejsou k dispozici při Shutdown je vyvolána událost.Pokud chcete před zavřením dokumentu odebrat ovládací prvky přidat kód do obslužné rutiny události pro jiné události, jako Document.BeforeClose nebo Document.BeforeSave pro aplikaci Word, nebo Workbook.BeforeClose, nebo Workbook.BeforeSave pro Excel.
Přidání hostitele ovládací prvky do dokumentů
Při programově přidat ovládací prvky hostitel dokumenty, musíte zadat název, který jednoznačně identifikuje ovládací prvek a musíte určit, kam chcete přidat ovládací prvek v dokumentu.Konkrétní pokyny naleznete v následujících tématech:
Postupy: Přidání ovládacích prvků obsahu do dokumentů aplikace Word
Postupy: Přidání ovládacích prvků záložek do dokumentů aplikace Word
Další informace o ovládacích prvcích hostitele naleznete v Přehled hostitelských položek a hostitelských ovládacích prvků.
Po uložení dokumentu a zavřeny všechny hostitele dynamicky vytvářených ovládacích prvků jsou odpojeni od jejich události a dojít ke ztrátě jejich funkce datové vazby.Přidejte kód k řešení znovu vytvořit ovládací prvky hostitel při opětovném otevření dokumentu.Další informace naleznete v tématu Uchování dynamických ovládacích prvků v dokumentech systému Office.
[!POZNÁMKA]
Pomocné metody nejsou hostitelským následující ovládací prvky, protože tyto ovládací prvky nelze programově přidat dokumenty: XmlMappedRange, XMLNode, a XMLNodes.
Přidání ovládacích prvků model Windows Forms dokumenty
Pokud programově přidat ovládací prvek model Windows Forms dokumentu musí poskytnout umístění ovládacího prvku a název, který jednoznačně identifikuje ovládací prvek.Visual Studio Tools for Office runtime Poskytuje podpůrné metody pro každý ovládací prvek.Tyto metody jsou přetížené, takže můžete předat rozsah nebo konkrétní souřadnice umístění ovládacího prvku.
Po uložení dokumentu a pak uzavřen dynamicky vytvářených ovládacích prvků model Windows Forms jsou odebrány z dokumentu.Přidejte kód k řešení znovu vytvořit ovládací prvky při opětovném otevření dokumentu.Pokud vytvoříte dynamické ovládací prvky model Windows Forms pomocí doplněk aplikační úrovni, jsou ponechány obálky ActiveX ovládací prvky v dokumentu.Další informace naleznete v tématu Uchování dynamických ovládacích prvků v dokumentech systému Office.
[!POZNÁMKA]
Model Windows Forms ovládací prvky nelze programově přidat chráněné dokumenty.Pokud programově Odemknout dokument aplikace Word nebo sešit Excel přidat ovládací prvek musíte napsat další kód odebrat ovládací prvek ActiveX obálkové při zavření dokumentu.Ovládací prvek ActiveX obálkové není automaticky odstraněn z chráněné dokumenty.
Přidání vlastních ovládacích prvků
Pokud chcete přidat Control není podporován k dispozici pomocné metody, například vlastní uživatelský ovládací prvek, použijte následující metody:
Aplikace Excel, použijte jednu z AddControl metody ControlCollection objektu.
Aplikace Word, použijte jednu z AddControl metody ControlCollection objektu.
Přidání ovládacího prvku, předat Control, umístění ovládacího prvku a název, který jednoznačně identifikuje ovládací prvek AddControl metoda.AddControl Metoda vrátí objekt, který definuje způsob interakce ovládacího prvku s listu nebo dokumentu.AddControl Metoda vrátí ControlSite (pro Excel) nebo ControlSite objekt (Word).
Následující příklad kódu demonstruje použití AddControl(Control, Range, String) metoda dynamicky přidávat vlastní uživatelský ovládací prvek na listu aplikace Excel projekt úrovni dokumentu.V tomto příkladu je uživatelský ovládací prvek s názvem UserControl1a Range s názvem range1. Použít tento příklad, spusťte jej z Sheetn třídy v projektu.
Dim customControl As New UserControl1()
Dim dynamicControl As Microsoft.Office.Tools.Excel.ControlSite = _
Me.Controls.AddControl(customControl, range1, "dynamic")
UserControl1 customControl = new UserControl1();
Microsoft.Office.Tools.Excel.ControlSite dynamicControl =
this.Controls.AddControl(customControl, range1, "dynamic");
Pomocí členů vlastní ovládací prvky
Po použití jedné z AddControl metody pro přidání ovládacího prvku do listu nebo dokumentu, můžete nyní mít dva různé objekty ovládacího prvku:
Control , Která představuje vlastní ovládací prvek.
ControlSite, OLEObject, Nebo OLEControl objekt, který představuje ovládací prvek po byl přidán do listu nebo dokumentu.
Mnoho vlastnosti a metody jsou sdíleny mezi těmito ovládacími prvky.Je důležité přistupovat tyto členy prostřednictvím příslušného ovládacího prvku:
Přístup k členům, které patří pouze vlastní ovládací prvek, použijte Control.
Přístup ke členům sdílené ovládacími prvky, ControlSite, OLEObject, nebo OLEControl objektu.
Pokud přístup sdíleného člena z Control, pravděpodobně nezdaří bez upozornění nebo oznámení nebo jeho výsledky neplatný.Vždy použít metody nebo vlastnosti ControlSite, OLEObject, nebo OLEControl objekt, pokud nejsou metody nebo vlastnosti, které jsou potřebné k dispozici; pouze potom by se odkazovat Control.
Například i ControlSite třídy a Control třídy Top vlastnost.Získat nebo nastavit vzdálenost mezi horní ovládací prvek a začátek dokumentu, použijte Top vlastnost ControlSite, nikoli Top vlastnost Control.
' Property is set in relation to the document.
dynamicControl.Top = 100
' Property is set in relation to the container control.
customControl.Top = 100
// Property is set in relation to the document.
dynamicControl.Top = 100;
// Property is set in relation to the container control.
customControl.Top = 100;
Viz také
Úkoly
Postupy: Přidání ovládacích prvků ListObject do listů
Postupy: Přidání ovládacích prvků NamedRange do listů
Postupy: Přidání ovládacích prvků Graf do listů
Postupy: Přidání ovládacích prvků obsahu do dokumentů aplikace Word
Postupy: Přidání ovládacích prvků záložek do dokumentů aplikace Word
Postupy: Přidání ovládacích prvků Windows Forms do dokumentů Office
Koncepty
Uchování dynamických ovládacích prvků v dokumentech systému Office
Přehled ovládacích prvků Windows Forms v dokumentech Office