Sdílet prostřednictvím


Návod: Vytvoření šablony pomocí ovládacích prvků obsahu

Tento návod ukazuje, jak vytvořit přizpůsobení na úrovni dokumentu, které používá ovládací prvky obsahu k vytvoření strukturovaného a opakovaně použitelného obsahu v šabloně systém Microsoft Office Wordu.

Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu pro Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.

Word umožňuje vytvořit kolekci opakovaně použitelných částí 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é můžou obsahovat různé typy obsahu, jako je prostý text nebo kalendářní data. Jedna z tabulek obsahuje informace o zaměstnanci a druhá tabulka obsahuje zpětnou vazbu zákazníků.

Po vytvoření dokumentu ze šablony můžete do dokumentu přidat některou z tabulek pomocí několika BuildingBlockGalleryContentControl objektů, které zobrazují dostupné stavební bloky v šabloně.

Tento návod znázorňuje následující úlohy:

  • Vytváření tabulek obsahujících ovládací prvky obsahu v šabloně Wordu v době návrhu

  • Naplnění ovládacího prvku obsahu pole se seznamem a ovládací prvek obsahu rozevíracího seznamu programově.

  • Brání uživatelům v úpravách zadané tabulky.

  • Přidání tabulek do kolekce stavebních bloků šablony

  • Vytvoření ovládacího prvku obsahu, který zobrazuje dostupné stavební bloky v šabloně

    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).

Požadavky

K dokončení tohoto návodu budete potřebovat následující komponenty:

Vytvoření nového projektu šablony Wordu

Vytvořte wordovou šablonu, aby uživatelé mohli snadno vytvářet vlastní kopie.

Vytvoření nového projektu šablony aplikace Word

  1. Vytvořte projekt šablony aplikace Word s názvem MyBuildingBlockTemplate. V průvodci vytvořte v řešení nový dokument. Další informace naleznete v tématu Postupy: Vytváření projektů Office v sadě Visual Studio.

    Visual Studio otevře novou šablonu Wordu v návrháři a přidá projekt MyBuildingBlockTemplate do Průzkumník řešení.

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 zadat informace o zaměstnanci.

Vytvoření tabulky zaměstnanců

  1. V šabloně Wordu, která je hostovaná v návrháři sady Visual Studio, klikněte na pásu karet na kartu Vložení .

  2. Ve skupině Tabulky klikněte na Tabulka a vložte tabulku se dvěma sloupci a čtyřmi řádky.

  3. Zadejte text do prvního sloupce, aby vypadal podobně jako v následujícím sloupci:

    Jméno zaměstnance
    Datum přijetí
    Název
    Obrázek
  4. Klikněte do první buňky ve druhém sloupci (vedle jména zaměstnance).

  5. 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.

  6. Ve skupině Ovládací prvky kliknutím na tlačítko PlainTextContentControl Text přidejte PlainTextContentControl první buňku.

  7. Klikněte na druhou buňku ve druhém sloupci (vedle položky Datum přijetí).

  8. Ve skupině Ovládací prvky kliknutím na tlačítko DatePickerContentControl Výběr data přidejte DatePickerContentControl do druhé buňky.

  9. Klikněte na třetí buňku ve druhém sloupci (vedle nadpisu).

  10. Ve skupině Ovládací prvky kliknutím na tlačítko ComboBoxContentControl Pole se seznamem ComboBoxContentControl přidejte do třetí buňky.

  11. Klikněte na poslední buňku ve druhém sloupci (vedle obrázku).

  12. Ve skupině Ovládací prvky kliknutím na tlačítko PictureContentControl Ovládací prvek obsahu obrázku přidejte PictureContentControl do poslední buňky.

Vytvoření tabulky názorů zákazníků

Vytvořte tabulku, která obsahuje tři různé typy ovládacích prvků obsahu, kde uživatel může zadat informace o zpětné vazbě od zákazníků.

Vytvoření tabulky názorů zákazníků

  1. V šabloně Wordu klikněte na řádek za tabulkou zaměstnanců, kterou jste přidali dříve, a stisknutím klávesy Enter přidejte nový odstavec.

  2. Na pásu karet klikněte na kartu Vložení .

  3. Ve skupině Tabulky klikněte na Tabulka a vložte tabulku se dvěma sloupci a třemi řádky.

  4. Zadejte text do prvního sloupce, aby vypadal podobně jako v následujícím sloupci:

    Jméno zákazníka
    Hodnocení spokojenosti
    Komentáře
  5. Klikněte do první buňky druhého sloupce (vedle jména zákazníka).

  6. Na pásu karet klikněte na kartu Vývojář .

  7. Ve skupině Ovládací prvky kliknutím na tlačítko PlainTextContentControl Text přidejte PlainTextContentControl první buňku.

  8. Klikněte do druhé buňky druhého sloupce (vedle hodnocení spokojenosti).

  9. Ve skupině Ovládací prvky kliknutím na tlačítko DropDownListContentControl Rozevírací seznam přidejte DropDownListContentControl do druhé buňky.

  10. Klikněte na poslední buňku druhého sloupce (vedle komentáře).

  11. Ve skupině Ovládací prvky kliknutím na tlačítko RichTextContentControl RTF přidejte RichTextContentControl do poslední buňky.

Vyplňte pole se seznamem a rozevírací seznam programově.

Ovládací prvky obsahu můžete inicializovat v době návrhu pomocí okna Vlastnosti v sadě Visual Studio. Můžete je také inicializovat za běhu, což umožňuje dynamicky nastavit jejich počáteční stavy. V tomto názorném postupu použijte kód k naplnění položek v ComboBoxContentControl době běhu a DropDownListContentControl za běhu, abyste viděli, jak tyto objekty fungují.

Programové úpravy uživatelského rozhraní ovládacích prvků obsahu

  1. V Průzkumník řešení klepněte pravým tlačítkem myši ThisDocument.cs nebo ThisDocument.vb a klepněte na tlačítko Zobrazit kód.

  2. Do třídy ThisDocument přidejte následující kód. Tento kód deklaruje několik objektů, které použijete později v tomto návodu.

    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
    
  3. Do metody ThisDocument třídy přidejte následující kódThisDocument_Startup. Tento kód přidá položky do ComboBoxContentControl tabulek a DropDownListContentControl v tabulkách a nastaví zástupný text, který se zobrazí v každém z těchto ovládacích prvků před tím, než je uživatel upraví.

    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ánit uživatelům v úpravách tabulky zaměstnanců

GroupContentControl K ochraně tabulky zaměstnanců použijte objekt, který jste deklarovali dříve. Po ochraně tabulky můžou uživatelé i nadále upravovat ovládací prvky obsahu v tabulce. Nemůžou ale upravovat text v prvním sloupci nebo upravovat tabulku jinými způsoby, například přidáním nebo odstraněním řádků a sloupců. Další informace o tom, jak použít GroupContentControl k ochraně části dokumentu, najdete v tématu Ovládací prvky obsahu.

Zabránění uživatelům v úpravách tabulky zaměstnanců

  1. Za kód, který jste přidali v předchozím kroku, přidejte následující kód do ThisDocument_Startup metody ThisDocument třídy. Tento kód zabrání uživatelům v úpravě tabulky zaměstnanců tím, že tabulku umístí do objektu GroupContentControl , který jste deklarovali dříve.

    this.Tables[1].Range.Select();
    groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
    

Přidání tabulek do kolekce stavebních bloků

Přidejte tabulky do kolekce stavebních bloků dokumentů v šabloně, aby uživatelé mohli do dokumentu vložit tabulky, které jste vytvořili. Další informace o stavebních blocích dokumentu najdete v tématu Ovládací prvky obsahu.

Přidání tabulek do stavebních bloků v šabloně

  1. Za kód, který jste přidali v předchozím kroku, přidejte následující kód do ThisDocument_Startup metody ThisDocument třídy. Tento kód přidá nové stavební bloky, které obsahují tabulky do kolekce Microsoft.Office.Interop.Word.BuildingBlockEntries, která obsahuje všechny opakovaně použitelné stavební bloky v šabloně. Nové stavební bloky jsou definovány v nové kategorii s názvem Zaměstnanec a Informace o zákaznících a jsou přiřazeny typu Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1stavebního bloku .

    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);
    }
    
  2. Za kód, který jste přidali v předchozím kroku, přidejte následující kód do ThisDocument_Startup metody ThisDocument třídy. Tento kód odstraní tabulky ze šablony. Tabulky už nejsou potřeba, protože jste je přidali do galerie opakovaně použitelných stavebních bloků v šabloně. Kód nejprve umístí dokument do režimu návrhu, aby bylo možné odstranit chráněnou tabulku zaměstnanců.

    if (!this.FormsDesign)
    {
        this.ToggleFormsDesign();
    }
    this.Tables[2].Delete();
    this.Tables[1].Delete();
    this.ToggleFormsDesign();
    

Vytvoření ovládacího prvku obsahu, který zobrazuje stavební bloky

Vytvořte ovládací prvek obsahu, který poskytuje přístup k stavebním blokům (tj. tabulkám), které jste vytvořili dříve. Uživatelé mohou kliknout na tento ovládací prvek a přidat tabulky do dokumentu.

Vytvoření ovládacího prvku obsahu, který zobrazuje stavební bloky

  1. Za kód, který jste přidali v předchozím kroku, přidejte následující kód do ThisDocument_Startup metody ThisDocument třídy. Tento kód inicializuje BuildingBlockGalleryContentControl objekt, který jste deklarovali dříve. Zobrazí BuildingBlockGalleryContentControl všechny stavební bloky, které jsou definovány v kategorii Zaměstnanec a Informace o zákaznících a které mají typ Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1stavebního bloku .

    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é můžou kliknout na ovládací prvky galerie stavebních bloků v dokumentu a vložit tabulku zaměstnanců nebo tabulku názorů zákazníků. Uživatelé můžou v ovládacích prvcích obsahu v obou tabulkách psát nebo vybírat odpovědi. Uživatelé můžou upravovat jiné části tabulky názorů zákazníků, ale neměli by být schopni upravovat jiné části tabulky zaměstnanců.

Otestování tabulky zaměstnanců

  1. Stisknutím klávesy F5 spusťte projekt.

  2. Kliknutím na Možnost Zvolit první stavební blok zobrazíte první ovládací prvek obsahu galerie stavebních bloků.

  3. Klikněte na šipku rozevíracího seznamu vedle záhlaví Vlastní galerie 1 v ovládacím prvku a vyberte Tabulku zaměstnanců.

  4. Klikněte do buňky napravo od buňky Jméno zaměstnance a zadejte jméno.

    Ověřte, že do této buňky můžete přidat jenom text. Umožňuje PlainTextContentControl uživatelům přidávat pouze text, nikoli jiné typy obsahu, jako jsou obrázky nebo tabulka.

  5. Klikněte do buňky napravo od buňky Datum přijetí a vyberte datum ve výběru data.

  6. Klikněte do buňky napravo od buňky Název a vyberte jeden z pracovních pozic v poli se seznamem.

    Volitelně můžete zadat název pracovní pozice, která není v seznamu. Je to možné, protože ComboBoxContentControl uživatelé můžou vybírat ze seznamu položek nebo zadávat vlastní položky.

  7. Klikněte na ikonu v buňce napravo od buňky Obrázek a přejděte k obrázku, který chcete zobrazit.

  8. Zkuste do tabulky přidat řádky nebo sloupce a zkuste z tabulky odstranit řádky a sloupce. Ověřte, že tabulku nelze upravit. Zabrání GroupContentControl vám v provádění jakýchkoli úprav.

Otestování tabulky názorů zákazníků

  1. Kliknutím na Možnost Zvolit druhý stavební blok zobrazíte druhý ovládací prvek obsahu galerie stavebních bloků.

  2. V ovládacím prvku klikněte na šipku rozevíracího seznamu vedle záhlaví Vlastní galerie 1 a vyberte Tabulku zákazníků.

  3. Klikněte do buňky napravo od buňky Jméno zákazníka a zadejte název.

  4. Klikněte do buňky napravo od buňky Hodnocení spokojenosti a vyberte jednu z dostupných možností.

    Ověřte, že nemůžete zadat vlastní položku. Umožňuje DropDownListContentControl uživatelům vybírat pouze ze seznamu položek.

  5. Klikněte do buňky napravo od buňky Komentáře a zadejte nějaké komentáře.

    Volitelně můžete přidat jiný obsah než text, například obrázek nebo vloženou tabulku. Je to možné, protože RichTextContentControl uživatelé můžou přidávat jiný obsah než text.

  6. Ověřte, že do tabulky můžete přidat řádky nebo sloupce a odstranit řádky a sloupce z tabulky. To je možné, protože jste tabulku nechránili tak, že jste ji umístili do souboru GroupContentControl.

  7. Zavřete šablonu.

Další kroky

Další informace o používání ovládacíchprvkůch