Přidání ovládacích prvků obsahu do wordových dokumentů
V projektech Wordu na úrovni dokumentu můžete do dokumentu v projektu přidat ovládací prvky obsahu v době návrhu nebo v době běhu. V projektech doplňků VSTO aplikace Word můžete přidat ovládací prvky obsahu do libovolného otevřeného dokumentu za běhu.
Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.
Toto téma popisuje následující úlohy:
Přidání ovládacích prvků obsahu za běhu v projektu na úrovni dokumentu
Přidání ovládacích prvků obsahu za běhu v projektu doplňku VSTO
Informace o ovládacích prvcích obsahu naleznete v tématu Ovládací prvky obsahu.
Přidání ovládacích prvků obsahu v době návrhu
Existuje několik způsobů, jak přidat ovládací prvky obsahu do dokumentu v projektu na úrovni dokumentu v době návrhu:
Přidejte ovládací prvek obsahu z karty Ovládací prvky aplikace Word na panelu nástrojů.
Přidejte do dokumentu ovládací prvek obsahu stejným způsobem jako nativní ovládací prvek obsahu ve Wordu.
Přetáhněte ovládací prvek obsahu do dokumentu z okna Zdroje dat. To je užitečné, když chcete ovládací prvek svázat s daty při vytváření ovládacího prvku. Další informace najdete v tématu Postupy: Naplnění dokumentů daty z objektů a postupy: Naplnění dokumentů daty z databáze.
Poznámka:
Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace naleznete v tématu Přizpůsobení integrovaného vývojového prostředí (IDE).
Přidání ovládacího prvku obsahu do dokumentu pomocí panelu nástrojů
V dokumentu, který je hostovaný v návrháři sady Visual Studio, umístěte kurzor na místo, kam chcete přidat ovládací prvek obsahu, nebo vyberte text, který má ovládací prvek obsahu nahradit.
Otevřete panel nástrojů a klikněte na kartu Ovládací prvky aplikace Word.
Přidejte ovládací prvek jedním z následujících způsobů:
Poklikejte na ovládací prvek obsahu v sadě nástrojů.
nebo
Klikněte na ovládací prvek obsahu v sadě nástrojů a stiskněte klávesu Enter .
nebo
Přetáhněte ovládací prvek obsahu ze sady nástrojů do dokumentu. Ovládací prvek obsahu se přidá do aktuálního výběru v dokumentu, ne na umístění ukazatele myši.
Poznámka:
Pomocí panelu nástrojů nelze přidatGroupContentControl. Ve Wordu GroupContentControl můžete přidat jenom aplikaci Word nebo za běhu.
Poznámka:
Visual Studio neposkytuje ovládací prvek obsahu zaškrtávacího políčka v sadě nástrojů. Pokud chcete do dokumentu přidat ovládací prvek obsahu zaškrtávacího políčka, musíte objekt vytvořit ContentControl programově. Další informace naleznete v tématu Ovládací prvky obsahu.
Přidání ovládacího prvku obsahu do dokumentu ve Wordu
V dokumentu, který je hostovaný v návrháři sady Visual Studio, umístěte kurzor na místo, kam chcete přidat ovládací prvek obsahu, nebo vyberte text, který má ovládací prvek obsahu nahradit.
Na pásu karet klikněte na kartu Vývojář .
Poznámka:
Pokud karta Vývojář není viditelná, musíte ji nejdřív zobrazit. Další informace najdete v tématu Postupy: Zobrazení karty Vývojář na pásu karet.
Ve skupině Ovládací prvky klikněte na ikonu ovládacího prvku obsahu, který chcete přidat.
Přidání ovládacích prvků obsahu za běhu v projektu na úrovni dokumentu
Ovládací prvky obsahu můžete do dokumentu přidat programově pomocí metod Controls vlastnosti ThisDocument
třídy v projektu. Každá metoda má tři přetížení, které můžete použít k přidání ovládacího prvku obsahu následujícími způsoby:
Přidejte ovládací prvek k aktuálnímu výběru.
Přidejte ovládací prvek do zadaného rozsahu.
Přidejte ovládací prvek založený na nativním ovládacím prvku obsahu v dokumentu.
Dynamicky vytvořené ovládací prvky obsahu se v dokumentu při zavření dokumentu neuchovávají. Nativní ovládací prvek obsahu však zůstane v dokumentu. Ovládací prvek obsahu, který je založený na nativním ovládacím prvku obsahu, můžete znovu vytvořit při příštím otevření dokumentu. Další informace naleznete v tématu Přidání ovládacích prvků do dokumentů Office za běhu.
Poznámka:
Pokud chcete do dokumentu v projektu Wordu 2010 přidat ovládací prvek obsahu zaškrtávacího políčka, musíte vytvořit ContentControl objekt. Další informace naleznete v tématu Ovládací prvky obsahu.
Přidání ovládacího prvku obsahu k aktuálnímu výběru
Použijte metoduControlCollection, která má třídu> řízení názvů<
Add
(kde třída ovládacího prvku je název třídy třídy obsahu, který chcete přidat, například AddRichTextContentControl) a který má jeden parametr pro název nového ovládacího prvku.Následující příklad kódu používá metodu AddRichTextContentControl k přidání nového RichTextContentControl na začátek dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisDocument
třídy v projektu a volejte metoduAddRichTextControlAtSelection
z obslužné rutinyThisDocument_Startup
události.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1; private void AddRichTextControlAtSelection() { this.Paragraphs[1].Range.InsertParagraphBefore(); this.Paragraphs[1].Range.Select(); richTextControl1 = this.Controls.AddRichTextContentControl("richTextControl1"); richTextControl1.PlaceholderText = "Enter your first name"; }
Přidání ovládacího prvku obsahu do zadaného rozsahu
Použijte metoduControlCollection, která má třídu> ovládacích prvků názvů<
Add
(kde třída ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat, například AddRichTextContentControl) a která má Range parametr.Následující příklad kódu používá metodu AddRichTextContentControl k přidání nového RichTextContentControl na začátek dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisDocument
třídy v projektu a volejte metoduAddRichTextControlAtRange
z obslužné rutinyThisDocument_Startup
události.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2; private void AddRichTextControlAtRange() { this.Paragraphs[1].Range.InsertParagraphBefore(); richTextControl2 = this.Controls.AddRichTextContentControl(this.Paragraphs[1].Range, "richTextControl2"); richTextControl2.PlaceholderText = "Enter your first name"; }
Přidání ovládacího prvku obsahu založeného na nativním ovládacím prvku obsahu
Použijte metoduControlCollection, která má třídu> ovládacích prvků názvů<
Add
(kde třída ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat, například AddRichTextContentControl) a která máMicrosoft.Office.Interop.Word.ContentControl
parametr.Následující příklad kódu používá metodu AddRichTextContentControl k vytvoření nové RichTextContentControl pro každý nativní ovládací prvek RTF, který je v dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisDocument
třídy v projektu a volejte metoduCreateRichTextControlsFromNativeControls
z obslužné rutinyThisDocument_Startup
události.private System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls; private void CreateRichTextControlsFromNativeControls() { if (this.ContentControls.Count <= 0) return; richTextControls = new System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl>(); int count = 0; foreach (Word.ContentControl nativeControl in this.ContentControls) { if (nativeControl.Type == Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText) { count++; Microsoft.Office.Tools.Word.RichTextContentControl tempControl = this.Controls.AddRichTextContentControl(nativeControl, "VSTORichTextControl" + count.ToString()); richTextControls.Add(tempControl); } } }
Přidání ovládacích prvků obsahu za běhu v projektu doplňku VSTO
Ovládací prvky obsahu můžete programově přidat do libovolného otevřeného dokumentu za běhu pomocí doplňku VSTO. Uděláte to tak, že vygenerujete Document položku hostitele založenou na otevřeném dokumentu a pak použijete metody Controls vlastnosti této položky hostitele. Každá metoda má tři přetížení, které můžete použít k přidání ovládacího prvku obsahu následujícími způsoby:
Přidejte ovládací prvek k aktuálnímu výběru.
Přidejte ovládací prvek do zadaného rozsahu.
Přidejte ovládací prvek založený na nativním ovládacím prvku obsahu v dokumentu.
Dynamicky vytvořené ovládací prvky obsahu se v dokumentu při zavření dokumentu neuchovávají. Nativní ovládací prvek obsahu však zůstane v dokumentu. Ovládací prvek obsahu, který je založený na nativním ovládacím prvku obsahu, můžete znovu vytvořit při příštím otevření dokumentu. Další informace naleznete v tématu Zachování dynamických ovládacích prvků v dokumentech Office.
Další informace o generování hostitelských položek v projektech doplňků VSTO naleznete v tématu Rozšíření wordových dokumentů a excelových sešitů v doplňkech VSTO za běhu.
Poznámka:
Pokud chcete do dokumentu přidat ovládací prvek obsahu zaškrtávacího políčka, musíte vytvořit ContentControl objekt. Další informace naleznete v tématu Ovládací prvky obsahu.
Přidání ovládacího prvku obsahu k aktuálnímu výběru
Použijte metoduControlCollection, která má třídu> řízení názvů<
Add
(kde třída ovládacího prvku je název třídy třídy obsahu, který chcete přidat, například AddRichTextContentControl) a který má jeden parametr pro název nového ovládacího prvku.Následující příklad kódu používá metodu AddRichTextContentControl k přidání nového RichTextContentControl na začátek aktivního dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisAddIn
třídy v projektu a volejte metoduAddRichTextControlAtSelection
z obslužné rutinyThisAddIn_Startup
události.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1; private void AddRichTextControlAtSelection() { Word.Document currentDocument = this.Application.ActiveDocument; currentDocument.Paragraphs[1].Range.InsertParagraphBefore(); currentDocument.Paragraphs[1].Range.Select(); Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1"); richTextControl1.PlaceholderText = "Enter your first name"; }
Přidání ovládacího prvku obsahu do zadaného rozsahu
Použijte metoduControlCollection, která má třídu> ovládacích prvků názvů<
Add
(kde třída ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat, například AddRichTextContentControl) a která má Range parametr.Následující příklad kódu používá metodu AddRichTextContentControl k přidání nového RichTextContentControl na začátek aktivního dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisAddIn
třídy v projektu a volejte metoduAddRichTextControlAtRange
z obslužné rutinyThisAddIn_Startup
události.private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2; private void AddRichTextControlAtRange() { Word.Document currentDocument = this.Application.ActiveDocument; currentDocument.Paragraphs[1].Range.InsertParagraphBefore(); Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument); richTextControl2 = extendedDocument.Controls.AddRichTextContentControl( currentDocument.Paragraphs[1].Range, "richTextControl2"); richTextControl2.PlaceholderText = "Enter your first name"; }
Přidání ovládacího prvku obsahu založeného na nativním ovládacím prvku obsahu
Použijte metoduControlCollection, která má třídu> ovládacích prvků názvů<
Add
(kde třída ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat, například AddRichTextContentControl) a která máMicrosoft.Office.Interop.Word.ContentControl
parametr.Následující příklad kódu používá metodu AddRichTextContentControl k vytvoření nové RichTextContentControl pro každý nativní ovládací prvek RTF, který je v dokumentu po otevření dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisAddIn
třídy v projektu.private System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls; private void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc) { if (Doc.ContentControls.Count > 0) { Document extendedDocument = Globals.Factory.GetVstoObject(Doc); richTextControls = new System.Collections.Generic.List <Microsoft.Office.Tools.Word.RichTextContentControl>(); int count = 0; foreach (Word.ContentControl nativeControl in Doc.ContentControls) { if (nativeControl.Type == Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText) { count++; Microsoft.Office.Tools.Word.RichTextContentControl tempControl = extendedDocument.Controls.AddRichTextContentControl(nativeControl, "VSTORichTextControl" + count.ToString()); richTextControls.Add(tempControl); } } } }
Pro jazyk C# musíte k události připojit také obslužnou
Application_DocumentOpen
rutinu DocumentOpen události.this.Application.DocumentOpen += new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);