Názorný postup: Vytvoření šablony pomocí ovládacích prvků obsahu
Tento návod ukazuje, jak vytvořit vlastní úroveň dokument, ovládací prvky obsahu používá k vytváření strukturované a opakovaně použitelného obsahu v šabloně aplikace Microsoft Office Word.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu v aplikacích Word 2013 a Word 2010. Další informace naleznete v tématu Funkce aplikace Office a typ projektu.
Aplikace Word umožňuje vytvořit kolekci částí opakovaně dokumentu s názvem stavební bloky.Tento návod ukazuje, jak vytvořit dvě tabulky jako stavební bloky.Každá tabulka obsahuje několik ovládacích prvků obsahu, které mohou obsahovat různé typy obsahu, jako prostý text nebo data.Jednu z tabulek obsahuje informace o zaměstnanci a ostatní tabulky obsahuje názory zákazníků.
Po vytvoření dokumentu ze šablony můžete přidat některou z tabulek v dokumentu pomocí několika BuildingBlockGalleryContentControl objekty, které zobrazí dostupné stavební bloky v šabloně.
Tento návod ilustruje následující úkoly:
Vytváření tabulek, které obsahují slovo řídí šablony v době návrhu.
Naplnění obsahu prvek pole se seznamem a ovládací prvek obsahu rozevíracího seznamu programově.
Zabrání uživatelům v úpravách zadané tabulky.
Přidání tabulky do kolekce stavební blok šablony.
Vytváření obsahu ovládacího prvku, který zobrazí dostupné stavební bloky v šabloně.
[!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.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
-
Edice sady Visual Studio 2012, která zahrnuje nástroje Microsoft Office Developer Tools. Další informace naleznete v tématu [Konfigurace počítače vyvinout řešení Office](bb398242\(v=vs.110\).md).
- Word 2013 nebo Word 2010.
Vytvoření nového projektu šablony aplikace Word
Vytvořte šablonu aplikace Word, takže uživatelé mohou snadno vytvářet své vlastní kopie.
Vytvořit nový projekt šablony aplikace Word
Vytvořte projekt šablony aplikace Word s názvem MyBuildingBlockTemplate.V průvodci vytvořte nový dokument v řešení.Další informace naleznete v tématu Jak: vytvoření Office projekty v aplikaci Visual Studio.
Visual Studionové šablony aplikace Word se otevře v návrháři a přidá MyBuildingBlockTemplate projektu Průzkumníku.
Vytvoření tabulky zaměstnanců
Vytvořte tabulku, která obsahuje čtyři různé typy ovládacích prvků obsahu, kde uživatel může zadávat informace o zaměstnanci.
Vytvoření tabulky zaměstnanců
V šabloně aplikace Word, který je umístěn v Visual Studio Návrhář pásu karet klepněte Vložení kartu.
V tabulky skupinu, klepněte na tabulkya vložit tabulku s 2 sloupců a řádků 4.
V prvním sloupci zadejte text, takže je podobná následující sloupce:
Jméno zaměstnance
Datum nástupu
Title
Obrázek
Klepněte na první buňku ve druhém sloupci (vedle Jméno zaměstnance).
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 Text tlačítko přidat PlainTextContentControl na první buňku.
Klepněte na druhou buňku ve druhém sloupci (vedle ZaměstnánOd).
V prvky skupinu, klepněte Výběr data tlačítko přidat DatePickerContentControl do druhé buňky.
Klepněte na buňku třetí ve druhém sloupci (vedle název).
V prvky skupinu, klepněte Seznamem tlačítko přidat ComboBoxContentControl do třetí buňky.
Klepněte na poslední buňku ve druhém sloupci (vedle Obrázek).
V prvky skupinu, klepněte Obsahu ovládacího prvku obrázek tlačítko přidat PictureContentControl na poslední buňku.
Vytvoření tabulky názor zákazníka
Vytvořte tabulku, která obsahuje tři různé typy ovládacích prvků obsahu, kde uživatel může zadávat informace o zpětné vazby zákazníka.
Vytvoření tabulky názor zákazníka
V šabloně aplikace Word po tabulky Zaměstnanec, který jste dříve přidali klepněte na řádek a stisknutím klávesy ENTER přidejte nový odstavec.
Na pásu karet klepněte Vložení kartu.
V tabulky skupinu, klepněte na tabulkya vložit tabulku s 2 sloupců a řádků, 3.
V prvním sloupci zadejte text, takže je podobná následující sloupce:
Customer Name
Hodnocení spokojenosti
Komentáře
Klepněte na první buňku ve druhém sloupci (vedle Jméno zákazníka).
Na pásu karet klepněte Developer kartu.
V prvky skupinu, klepněte Text tlačítko přidat PlainTextContentControl na první buňku.
Klepněte na druhou buňku ve druhém sloupci (vedle Hodnocení spokojenosti).
V prvky skupinu, klepněte Rozevíracího seznamu tlačítko přidat DropDownListContentControl do druhé buňky.
Klepněte na poslední buňku ve druhém sloupci (vedle komentáře).
V prvky skupinu, klepněte RTF tlačítko přidat RichTextContentControl na poslední buňku.
Vyplnění pole se seznamem a rozevírací seznam programově
Ovládací prvky obsahu v době návrhu můžete inicializovat pomocí Vlastnosti okna Visual Studio.Je možné inicializovat za běhu, což vám umožňuje dynamicky nastavit jejich počáteční státy.V tomto návodu kód použít k naplnění položky ComboBoxContentControl a DropDownListContentControl běhu, viděli, jak tyto objekty pracují.
Programově změnit uživatelské rozhraní ovládacích prvků obsahu
V Průzkumníku, klepněte pravým tlačítkem ThisDocument.cs nebo ThisDocument.vba klepněte na tlačítko Zobrazení kódu.
Přidejte následující kód do třídy ThisDocument.Tento kód deklaruje několik objektů, které bude používat později v tomto návodu.
Private GroupControl1 As Microsoft.Office.Tools.Word.GroupContentControl Private BuildingBlockControl1 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl Private BuildingBlockControl2 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
private Microsoft.Office.Tools.Word.GroupContentControl groupControl1; private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1; private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy.Tento kód přidá položky ComboBoxContentControl a DropDownListContentControl v tabulkách a sadách je upraví zástupný text, který se zobrazí v těchto ovládacích prvků před uživateli.
ComboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own" ComboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0) ComboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1) ComboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2) DropDownListContentControl1.PlaceholderText = _ "Choose a rating (1 lowest, 3 highest)" DropDownListContentControl1.DropDownListEntries.Add("1", "1", 0) DropDownListContentControl1.DropDownListEntries.Add("2", "2", 1) DropDownListContentControl1.DropDownListEntries.Add("3", "3", 2)
comboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own"; comboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0); comboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1); comboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2); dropDownListContentControl1.PlaceholderText = "Choose a rating (1 lowest, 3 highest)"; dropDownListContentControl1.DropDownListEntries.Add("1", "1", 0); dropDownListContentControl1.DropDownListEntries.Add("2", "2", 1); dropDownListContentControl1.DropDownListEntries.Add("3", "3", 2);
Zabránění uživatelům úpravy tabulky zaměstnanců
Použití GroupContentControl objekt deklarujete starší chránit tabulky Zaměstnanec.Po ochrana tabulky, uživatelé stále upravovat ovládací prvky obsahu tabulky.Však nelze upravit text v prvním sloupci nebo změnit tabulku jinými způsoby, například přidání nebo odstranění řádků a sloupců.Další informace o použití GroupContentControl chránit část dokumentu, viz Ovládací prvky obsahu.
Zabránit uživatelům úpravy tabulky zaměstnanců
Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy po kódu, který jste přidali v předchozím kroku.Tento kód zabrání uživatelům v úpravách vložením tabulka do tabulky zaměstnanců GroupContentControl objekt, který je deklarován v dříve.
Me.Tables(1).Select() GroupControl1 = Me.Controls.AddGroupContentControl("groupControl1")
this.Tables[1].Range.Select(); groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
Přidání tabulky do kolekce stavební blok
Přidejte tabulky do kolekce stavební bloky dokumentu, šablony, takže uživatelé mohou do dokumentu vkládat tabulky, které jste vytvořili.Další informace o stavební bloky dokumentů, viz Ovládací prvky obsahu.
Přidání tabulky do stavebních bloků v šabloně
Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy po kódu, který jste přidali v předchozím kroku.Tento kód přidá nové stavební bloky, které obsahují tabulky, které Microsoft.Office.Interop.Word.BuildingBlockEntries kolekci, která obsahuje všechny opakovaně použitelný stavební bloky v šabloně.Nové stavební bloky, které jsou definovány v novou kategorii s názvem zaměstnance a informace o zákaznících a jsou přiřazeny stavební blok typu Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1.
Dim template1 As Word.Template = TryCast(Me.AttachedTemplate, Word.Template) If template1 IsNot Nothing Then template1.BuildingBlockEntries.Add("Employee Table", _ Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _ Me.Tables(1).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent) template1.BuildingBlockEntries.Add("Customer Table", _ Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _ Me.Tables(2).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent) End If
Word.Template template1 = this.AttachedTemplate as Word.Template; if (template1 != null) { object description = null; template1.BuildingBlockEntries.Add("Employee Table", Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", this.Tables[1].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent); template1.BuildingBlockEntries.Add("Customer Table", Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", this.Tables[2].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent); }
Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy po kódu, který jste přidali v předchozím kroku.Tento kód odstraní ze šablony tabulek.Tabulky již nejsou nezbytné, protože jste je přidali do Galerie opakovaně použitelný stavební bloky v šabloně.Kód nejprve vloží dokument do režimu návrhu, takže lze odstranit tabulky zaměstnanců chráněné.
If Me.FormsDesign = False Then Me.ToggleFormsDesign() End If Me.Tables(2).Delete() Me.Tables(1).Delete() Me.ToggleFormsDesign()
if (!this.FormsDesign) { this.ToggleFormsDesign(); } this.Tables[2].Delete(); this.Tables[1].Delete(); this.ToggleFormsDesign();
Vytváření obsahu ovládacího prvku, který zobrazí stavební bloky
Vytvořte ovládací prvek obsahu, který poskytuje přístup k stavební bloky (tj tabulky), které jste vytvořili dříve.Klepnutím na tento ovládací prvek tabulky přidat do dokumentu.
Chcete-li vytvořit ovládací prvek obsahu zobrazí stavební bloky
Přidejte následující kód ThisDocument_Startup metoda ThisDocument třídy po kódu, který jste přidali v předchozím kroku.Tento kód inicializuje BuildingBlockGalleryContentControl objekt, který je deklarován v dříve.BuildingBlockGalleryContentControl Zobrazí stavební bloky, které jsou definovány v kategorii zaměstnance a informace o zákaznících a mají stavební blok typu Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1.
BuildingBlockControl1 = Me.Controls.AddBuildingBlockGalleryContentControl( _ Me.Paragraphs(1).Range, "buildingBlockControl1") BuildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information" BuildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1 BuildingBlockControl1.PlaceholderText = "Choose your first building block" BuildingBlockControl2 = Me.Controls.AddBuildingBlockGalleryContentControl( _ Me.Paragraphs(2).Range, "buildingBlockControl2") BuildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information" BuildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1 BuildingBlockControl2.PlaceholderText = "Choose your second building block"
buildingBlockControl1 = this.Controls.AddBuildingBlockGalleryContentControl( this.Paragraphs[1].Range, "buildingBlockControl1"); buildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information"; buildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1; buildingBlockControl1.PlaceholderText = "Choose your first building block"; buildingBlockControl2 = this.Controls.AddBuildingBlockGalleryContentControl( this.Paragraphs[2].Range, "buildingBlockControl2"); buildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information"; buildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1; buildingBlockControl2.PlaceholderText = "Choose your second building block";
Testování projektu
Uživatelé mohou klepnutím Galerie prvky stavební blok do dokumentu vložit tabulky Zaměstnanec nebo názory zákazníků.Uživatelé mohou zadejte nebo vyberte odpovědi v ovládací prvky obsahu v obou tabulkách.Uživatelé mohou upravovat tabulky Zákazník názory ostatních částí, ale nesmí mít úpravy jiných částí tabulky Zaměstnanec.
Testování tabulky zaměstnanců
Stiskněte klávesu F5 ke spuštění projektu.
Klepněte na Zvolte první stavební blok zobrazit první prvek obsahu galerie stavebních bloků.
Klepněte na šipku rozevíracího seznamu vedle Vlastní galerie 1 záhlaví ovládacího prvku a vyberte Tabulky zaměstnanců.
Klepněte na buňku vpravo jméno zaměstnance buňku a zadejte název.
Ověřte, že můžete přidat pouze text do této buňky.PlainTextContentControl Umožňuje uživatelům přidávat pouze text, nikoli jiných typů obsahu, například obrázek nebo tabulku.
Klepněte na buňku vpravo od buňky datum přijetí a datum vyberte ovládací prvek Výběr data.
Klepněte na buňku vpravo od záhlaví buňky a vyberte jednu úloha názvy v poli se seznamem.
Volitelně můžete zadejte název funkce, která není v seznamu.Je to možné, protože ComboBoxContentControl umožňuje uživatelům vybrat ze seznamu položek, nebo zadejte vlastní položky.
Klepněte na ikonu v buňce vpravo obrázek buňky a vyhledejte obrázek zobrazit.
Pokuste se přidat řádky nebo sloupce tabulky a řádky a sloupce z tabulky odstranit.Ověřte tabulky nelze upravovat.GroupContentControl Zabrání provedení změn.
Testování tabulky názor zákazníka
Klepněte na Zvolte druhou stavební blok zobrazit druhý prvek obsahu galerie stavebních bloků.
Klepněte na šipku rozevíracího seznamu vedle Vlastní galerie 1 záhlaví ovládacího prvku a vyberte Tabulky Zákazník.
Klepněte na buňku vpravo buňku název odběratele a zadejte název.
Klepněte na buňku vpravo hodnocení spokojenosti buňka a vyberte jednu z dostupných možností.
Ověřte, že nelze zadávat vlastní položky.DropDownListContentControl Umožňuje uživatelům pouze vyberte ze seznamu položek.
Klepněte na buňku vpravo komentáře buňky a zadejte některé komentáře.
Volitelně můžete přidáte obsah než text, například klipart nebo vložené tabulky.Je to možné, protože RichTextContentControl umožňuje uživatelům přidávat obsah, než text.
Ověřte tabulky můžete přidat řádky nebo sloupce a z tabulky můžete odstranit řádky a sloupce.To je možné, protože v tabulce nebyly chráněny uvedení GroupContentControl.
Zavřete šablonu.
Další kroky
Další informace o použití ovládacích prvků obsahu v tomto tématu:
- Svázat ovládací prvky obsahu kusů XML také s názvem vlastní části XML, které jsou vloženy do dokumentu.Další informace naleznete v tématu Názorný postup: Vlastní částí XML ovládací prvky obsahu vazby.
Viz také
Úkoly
Jak: přidání ovládacích prvků obsahu v dokumentech aplikace Word
Jak: chránit části dokumentů pomocí ovládacích prvků obsahu
Koncepty
Automatizace aplikace Word pomocí rozšířené objekty
Přehled ovládací prvky hostitel a Host položky
Programová omezení položek hostitel a Host ovládací prvky
Přidání ovládacích prvků do dokumentů sady Office v době spuštění