Jak: přidání ovládacích prvků obsahu v dokumentech aplikace Word
V projekty na úrovni dokumentu aplikace Word můžete ovládací prvky obsahu dokumentu do projektu v době návrhu nebo za běhu.V projektech aplikace Word můžete přidat ovládací prvky obsahu do libovolného dokumentu otevřeného v době běhu.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Toto téma popisuje následující úlohy:
Přidání ovládacích prvků obsahu v době návrhu
Přidání ovládacích prvků obsahu v době běhu v úrovni dokumentů projektu
Přidání ovládacích prvků obsahu v době běhu v projektu na úrovni aplikace
Informace o ovládací prvky obsahu, Ovládací prvky obsahu.
Přidání ovládacích prvků obsahu v době návrhu
Přidání ovládacích prvků obsahu dokumentu v projektu na úrovni dokumentu v době návrhu několika způsoby:
Přidat ovládací prvek obsahu z Ovládací prvky aplikace Word kartě nástrojů.
Přidání ovládacího prvku obsahu do dokumentu stejným způsobem by přidat nativní ovládací prvek obsahu v aplikaci Word.
Přetáhněte ovládací prvek obsahu dokumentu z Zdroje dat okna.To je užitečné, když chcete svázat ovládací prvek dat při vytvoření ovládacího prvku.Další informace naleznete v tématu Jak: naplnit dokumenty s daty z objektů a Jak: naplnit dokumenty s daty z databáze.
[!POZNÁMKA]
Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.
Pomocí panelu nástrojů přidejte ovládací prvek obsahu dokumentu
V dokumentu, který je hostitelem v Visual Studio designer, umístěte kurzor, kam chcete přidat ovládací prvek obsahu nebo vyberte text, který chcete nahradit obsah ovládacího prvku.
Otevřít nástrojů a klepněte Ovládací prvky aplikace Word kartu.
Přidejte ovládací prvek jedním z následujících způsobů:
Poklepejte na ovládací prvek obsahu v nástrojů.
nebo
Klepněte na ovládací prvek obsahu v nástrojů a stiskněte klávesu ENTER.
nebo
Přetáhněte ovládací prvek obsahu z nástrojů v dokumentu.Ovládací prvek obsahu je přidán na aktuální výběr v dokumentu, nikoli při umístění ukazatele myši.
[!POZNÁMKA]
Nelze přidat GroupContentControl pomocí nástrojů.Můžete přidat pouze GroupContentControl v aplikaci Word nebo v době běhu.
[!POZNÁMKA]
Visual Studio neposkytuje políčko obsah ovládacího prvku v panelu nástrojů pro Word 2013 a projekty aplikace Word 2010.Ovládací prvek obsahu políčko Přidat do dokumentu, musíte vytvořit ContentControl objekt programově.Další informace naleznete v tématu Ovládací prvky obsahu.
Chcete-li přidat ovládací prvek obsahu do dokumentu aplikace Word
V dokumentu, který je hostitelem v Visual Studio designer, umístěte kurzor, kam chcete přidat ovládací prvek obsahu nebo vyberte text, který chcete nahradit obsah ovládacího prvku.
Na pásu karet klepněte Developer kartu.
[!POZNÁMKA]
Pokud Developer kartě není viditelná, musíte nejprve zobrazit.Další informace naleznete v tématu Jak: zobrazit na pásu kartu Vývojář.
V prvky skupinu, klepněte na ikonu ovládacího prvku obsahu, který chcete přidat.
Přidání ovládacích prvků obsahu v době běhu v úrovni dokumentů projektu
Můžete přidat ovládací prvky obsahu programově do dokumentu za běhu pomocí metody Controls vlastnost ThisDocument tříd v projektu.Každá metoda má tři přetížení, které můžete přidat ovládací prvek obsahu následujícími způsoby:
Přidání ovládacího prvku na aktuální výběr.
Přidejte ovládací prvek na zadaný rozsah.
Přidáte ovládací prvek, který je založen na nativní obsahu ovládacího prvku v dokumentu.
Při zavření dokumentu dynamicky vytvořené ovládací prvky nejsou trvalé obsah v dokumentu.Nativní ovládací prvek obsahu však zůstane v dokumentu.Chcete-li znovu vytvořit ovládací prvek obsahu, který je založen na nativní ovládací prvek obsahu při příštím otevření dokumentu.Další informace naleznete v tématu Přidání ovládacích prvků do dokumentů sady Office v době spuštění.
[!POZNÁMKA]
Ovládací prvek obsahu políčko Přidat do dokumentu v aplikaci Word 2010 projektu, je nutné vytvořit ContentControl objektu.Další informace naleznete v tématu Ovládací prvky obsahu.
Přidat ovládací prvek obsahu na aktuální výběr.
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, který chcete přidat jako AddRichTextContentControl), a která má jeden parametr název nového ovládacího prvku.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(String) metodu k přidání nového RichTextContentControl na začátek dokumentu.Tento kód spustit, přidejte kód, který ThisDocument třídy v projektu a volání AddRichTextControlAtSelection metody z ThisDocument_Startup obslužnou rutinu události.
Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddRichTextControlAtSelection() Me.Paragraphs(1).Range.InsertParagraphBefore() Me.Paragraphs(1).Range.Select() richTextControl1 = Me.Controls.AddRichTextContentControl("richTextControl1") richTextControl1.PlaceholderText = "Enter your first name" End Sub
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řidat ovládací prvek obsahu na zadaný rozsah.
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat jako AddRichTextContentControl), a který má Microsoft.Office.Interop.Word.Range parametr.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(Range, String) metodu k přidání nového RichTextContentControl na začátek dokumentu.Tento kód spustit, přidejte kód, který ThisDocument třídy v projektu a volání AddRichTextControlAtRange metody z ThisDocument_Startup obslužnou rutinu události.
Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddRichTextControlAtRange() Me.Paragraphs(1).Range.InsertParagraphBefore() richTextControl2 = Me.Controls.AddRichTextContentControl(Me.Paragraphs(1).Range, _ "richTextControl2") richTextControl2.PlaceholderText = "Enter your first name" End Sub
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"; }
Chcete-li přidat ovládací prvek obsahu je založen na nativní ovládací prvek obsahu
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat jako AddRichTextContentControl), a který má Microsoft.Office.Interop.Word.ContentControl parametr.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(ContentControl, String) metody pro vytvoření nového RichTextContentControl pro každý ovládací prvek, který je v dokumentu RTF nativní.Tento kód spustit, přidejte kód, který ThisDocument třídy v projektu a volání CreateRichTextControlsFromNativeControls metody z ThisDocument_Startup obslužnou rutinu události.
Private richTextControls As New System.Collections.Generic.List _ (Of Microsoft.Office.Tools.Word.RichTextContentControl) Private Sub CreateRichTextControlsFromNativeControls() If Me.ContentControls.Count <= 0 Then Return End If Dim count As Integer = 0 For Each nativeControl As Word.ContentControl In Me.ContentControls If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then count += 1 Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _ Me.Controls.AddRichTextContentControl(nativeControl, _ "VSTORichTextContentControl" + count.ToString()) richTextControls.Add(tempControl) End If Next nativeControl End Sub
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 v době běhu v projektu na úrovni aplikace
Můžete přidat ovládací prvky obsahu programově libovolného otevřeného dokumentu v době běhu pomocí doplněk aplikační úrovni.Postup generování Document hostitel položky založené na otevřený dokument a potom pomocí metody Controls vlastnosti této položky hostitel.Každá metoda má tři přetížení, které můžete přidat ovládací prvek obsahu následujícími způsoby:
Přidání ovládacího prvku na aktuální výběr.
Přidejte ovládací prvek na zadaný rozsah.
Přidáte ovládací prvek, který je založen na nativní obsahu ovládacího prvku v dokumentu.
Při zavření dokumentu dynamicky vytvořené ovládací prvky nejsou trvalé obsah v dokumentu.Nativní ovládací prvek obsahu však zůstane v dokumentu.Chcete-li znovu vytvořit ovládací prvek obsahu, který je založen na nativní ovládací prvek obsahu při příštím otevření dokumentu.Další informace naleznete v tématu Trvalý dynamické ovládací prvky v dokumentech sady Office.
Další informace o generování hostitel položky projekty na úrovni aplikace, viz Rozšíření dokumenty aplikace Word a Excel v doplňky úroveň aplikace v době spuštění.
[!POZNÁMKA]
Přidat ovládací prvek obsahu zaškrtávacího políčka v dokumentu Word 2013 nebo Word 2010 projektu, musíte vytvořit ContentControl objektu.Další informace naleznete v tématu Ovládací prvky obsahu.
Přidat ovládací prvek obsahu na aktuální výběr.
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, který chcete přidat jako AddRichTextContentControl), a která má jeden parametr název nového ovládacího prvku.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(String) metodu k přidání nového RichTextContentControl na začátku aktivního dokumentu.Tento kód spustit, přidejte kód, který ThisAddIn třídy v projektu a volání AddRichTextControlAtSelection metody z ThisAddIn_Startup obslužnou rutinu události.
Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddRichTextControlAtSelection() Dim currentDocument As Word.Document = Me.Application.ActiveDocument currentDocument.Paragraphs(1).Range.InsertParagraphBefore() currentDocument.Paragraphs(1).Range.Select() Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument) richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1") richTextControl1.PlaceholderText = "Enter your first name" End Sub
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řidat ovládací prvek obsahu na zadaný rozsah.
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat jako AddRichTextContentControl), a který má Microsoft.Office.Interop.Word.Range parametr.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(Range, String) metodu k přidání nového RichTextContentControl na začátku aktivního dokumentu.Tento kód spustit, přidejte kód, který ThisAddIn třídy v projektu a volání AddRichTextControlAtRange metody z ThisAddIn_Startup obslužnou rutinu události.
Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddRichTextControlAtRange() Dim currentDocument As Word.Document = Me.Application.ActiveDocument currentDocument.Paragraphs(1).Range.InsertParagraphBefore() Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument) richTextControl2 = extendedDocument.Controls.AddRichTextContentControl( _ extendedDocument.Paragraphs(1).Range, "richTextControl2") richTextControl2.PlaceholderText = "Enter your first name" End Sub
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"; }
Chcete-li přidat ovládací prvek obsahu je založen na nativní ovládací prvek obsahu
Použití ControlCollection metodu, která má název Add<třídy ovládacího prvku> (kde třídy ovládacího prvku je název třídy ovládacího prvku obsahu, kterou chcete přidat jako AddRichTextContentControl), a který má Microsoft.Office.Interop.Word.ContentControl parametr.
Následující příklad kódu používá ControlCollection.AddRichTextContentControl(ContentControl, String) metody pro vytvoření nového RichTextContentControl pro každý ovládací prvek, který je v dokumentu po otevření dokumentu RTF nativní.Tento kód spustit, přidejte kód, který ThisAddIn tříd v projektu.
Private richTextControls As New System.Collections.Generic.List _ (Of Microsoft.Office.Tools.Word.RichTextContentControl) Private Sub Application_DocumentOpen(ByVal Doc As Microsoft.Office.Interop.Word.Document) _ Handles Application.DocumentOpen If Doc.ContentControls.Count > 0 Then Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Doc) Dim count As Integer = 0 For Each nativeControl As Word.ContentControl In Doc.ContentControls If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then count += 1 Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _ extendedDocument.Controls.AddRichTextContentControl(nativeControl, _ "VSTORichTextContentControl" + count.ToString()) richTextControls.Add(tempControl) End If Next nativeControl End If End Sub
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 C# musíte také připojit Application_DocumentOpen obslužnou rutinu události DocumentOpen události.
this.Application.DocumentOpen += new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);
Viz také
Koncepty
Automatizace aplikace Word pomocí rozšířené objekty
Přehled ovládací prvky hostitel a Host položky
Přidání ovládacích prvků do dokumentů sady Office v době spuštění
Programová omezení položek hostitel a Host ovládací prvky