Udostępnij za pośrednictwem


Wskazówki: tworzenie szablonu za pomocą formantów zawartości

Ten instruktaż przedstawia sposób tworzenia dostosowania poziomu dokumentu, który używa formantów zawartości do tworzenia treści zorganizowany i wielokrotnego użytku w szablonie programu Microsoft Office Word.

Zastosowanie: Informacje przedstawione w tym temacie mają zastosowanie do projektów na poziomie dokumentu obsługiwanych w programach Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacjach pakietu Office i typ projektu.

Program Word umożliwia tworzenie kolekcji części dokumentu wielokrotnego użytku, o nazwie bloków.W tym instruktażu przedstawiono sposób tworzenia dwóch tabel jako budulec.Każda tabela zawiera kilka formantów zawartości, które mogą zawierać różnych typów zawartości, takie jak zwykły tekst lub daty.Jedna z tabel zawiera informacje o pracowniku, a drugiej tabeli zawiera opinie klientów.

Po utworzeniu dokumentu z szablonu, można dodać tabel, do dokumentu przy użyciu kilku BuildingBlockGalleryContentControl obiektów, które są wyświetlane dostępne bloków konstrukcyjnych w szablonie.

W tym instruktażu przedstawiono następujące zadania:

  • Tworzenie tabel, które zawierają treści kontroluje słowem szablonu w czasie projektowania.

  • Wypełnianie programowo formantu zawartości typu pole kombi i formant zawartości listy rozwijanej.

  • Uniemożliwianie użytkownikom edycję określonej tabeli.

  • Dodawanie tabel do kolekcji blok konstrukcyjny szablonu.

  • Tworzenie formantu zawartości, które wyświetla dostępne bloków konstrukcyjnych w szablonie.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Wymagania wstępne

Potrzebne do przeprowadzenia tego instruktażu następujące składniki:

Tworzenie nowego projektu szablonu programu Word

Utwórz szablon programu Word, dzięki czemu użytkownicy mogą łatwo tworzyć własne kopie.

Aby utworzyć nowy projekt szablonu programu Word

  • Tworzenie projektu szablonu programu Word o nazwie MyBuildingBlockTemplate.W Kreatorze tworzenia nowego dokumentu w roztworze.Aby uzyskać więcej informacji, zobacz Porady: tworzenie projektów Office w Visual Studio.

    Visual StudioOtwiera nowy szablon programu Word w Projektancie i dodaje MyBuildingBlockTemplate projekt Solution Explorer.

Tworzenie tabeli pracowników

Tworzenie tabeli, która zawiera cztery różne typy formantów zawartości, w którym można wprowadzać informacje o pracowniku.

Aby utworzyć tabelę pracownika

  1. W szablonie programu Word, który jest obsługiwany w Visual Studio Projektant na Wstążce, kliknij wstawić kartę.

  2. W tabele grupy, kliknij przycisk Tabelai wstawić tabelę z kolumny 2 i 4 wiersze.

  3. Wpisz tekst w pierwszej kolumnie, aby wyglądał następujące kolumny:

    Nazwisko pracownika

    Data zatrudnienia

    Tytuł

    Obraz

  4. Kliknij pierwszą komórkę w kolumnie drugiej (obok Nazwisko pracownika).

  5. Kliknij na Wstążce, autora kartę.

    [!UWAGA]

    Jeśli autora karta nie jest widoczna, najpierw należy wyświetlić.Aby uzyskać więcej informacji, zobacz Porady: pokazywanie karty dewelopera na wstążce.

  6. W kontroli grupy, kliknij przycisk Text przycisk PlainTextContentControl Aby dodać PlainTextContentControl do pierwszej komórki.

  7. Kliknij drugą komórkę w kolumnie drugiej (obok Data zatrudnienia).

  8. W kontroli grupy, kliknij przycisk Wybór daty przycisk DatePickerContentControl Aby dodać DatePickerContentControl do drugiej komórki.

  9. Kliknij komórkę trzecich w drugiej kolumnie (obok Tytuł).

  10. W kontroli grupy, kliknij przycisk Polu kombi przycisk ComboBoxContentControl dodać ComboBoxContentControl do trzeciego komórki.

  11. Kliknij ostatnią komórkę w kolumnie drugiej (obok obraz).

  12. W kontroli grupy, kliknij przycisk Obraz formantu zawartości przycisk PictureContentControl Aby dodać PictureContentControl do ostatniej komórki.

Tworzenie tabeli opinie klientów

Tworzenie tabeli, która zawiera trzy różne typy formantów zawartości, w którym można wprowadzać informacje o opinii klientów.

Aby utworzyć tabelę opinie klientów

  1. W szablonie programu Word kliknij wiersz po tabeli Pracownik, który dodano wcześniej i naciśnij klawisz ENTER, aby dodać nowy akapit.

  2. Kliknij na Wstążce, wstawić kartę.

  3. W tabele grupy, kliknij przycisk Tabelai wstawić tabelę z kolumny 2 i 3 wiersze.

  4. Wpisz tekst w pierwszej kolumnie, aby wyglądał następujące kolumny:

    Nazwa klienta

    Wskaźnik zadowolenia

    Komentarze

  5. Kliknij w pierwszej komórce drugiej kolumny (obok Nazwa klienta).

  6. Kliknij na Wstążce, autora kartę.

  7. W kontroli grupy, kliknij przycisk Text przycisk PlainTextContentControl Aby dodać PlainTextContentControl do pierwszej komórki.

  8. Kliknij w drugiej komórce drugiej kolumny (obok Ocena satysfakcji).

  9. W kontroli grupy, kliknij przycisk Listy rozwijanej przycisk DropDownListContentControl Aby dodać DropDownListContentControl do drugiej komórki.

  10. Kliknij ostatnią komórkę drugiej kolumny (obok komentarze).

  11. W kontroli grupy, kliknij przycisk Tekst sformatowany przycisk RichTextContentControl Aby dodać RichTextContentControl do ostatniej komórki.

Podczas wypełniania pola kombi i upuść niedziałający programowo

Formanty zawartości można zainicjować w czasie projektowania, za pomocą Właściwości okna w Visual Studio.Również można zainicjować w czasie wykonywania, pozwala dynamicznie ustawić ich początkowego Państwa.Do wykonania tej procedury, należy użyć kodu zapełnić wpisy w ComboBoxContentControl i DropDownListContentControl w czasie wykonywania, dzięki czemu można zobaczyć, jak działają te obiekty.

Aby zmodyfikować UI formanty zawartości programowo

  1. W Solution Explorer, kliknij prawym przyciskiem myszy ThisDocument.cs lub projekcie ThisDocument.vb, a następnie kliknij przycisk Widok Kod.

  2. Dodaj następujący kod do ThisDocument klasy.Ten kod deklaruje kilka obiektów, które będą używane później w tym instruktażu.

    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;
    
  3. Dodaj następujący kod do ThisDocument_Startup metoda ThisDocument klasy.Ten kod dodaje wpisy do ComboBoxContentControl i DropDownListContentControl w tabelach i zestawach tekst zastępczy, który jest wyświetlany w każdym z tych formantów, zanim użytkownik edytuje je.

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

Uniemożliwianie użytkownikom edytowania tabeli pracowników

Użycie GroupContentControl obiektu została zadeklarowana wcześniej ochrony tabeli Pracownik.Po ochronę w tabeli, można nadal edytować formanty zawartości w tabeli.Jednakże nie można edytować tekst w pierwszej kolumnie lub modyfikować w inny sposób, takie jak dodawanie lub usuwanie wierszy i kolumn tabeli.Aby uzyskać więcej informacji na temat używania GroupContentControl do ochrony części dokumentu, zobacz Formanty zawartości.

Aby uniemożliwić użytkownikom edytowanie tabeli pracowników

  • Dodaj następujący kod do ThisDocument_Startup metoda ThisDocument klasy po kod, który dodano w poprzednim kroku.Ten kod uniemożliwia użytkownikom edytowanie tabeli pracowników poprzez umieszczenie tabeli wewnątrz GroupContentControl obiektu, która została wcześniej zadeklarowana.

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

Dodawanie tabel do kolekcji bloku konstrukcyjnego

Dodać tabele do zbiór bloków konstrukcyjnych dokumentu w szablonie, dzięki czemu użytkownicy mogą wstawiać tabele, które zostały utworzone w dokumencie.Aby uzyskać więcej informacji na temat bloki konstrukcyjne dokumentu, zobacz Formanty zawartości.

Aby dodać tabele do bloków konstrukcyjnych w szablonie

  1. Dodaj następujący kod do ThisDocument_Startup metoda ThisDocument klasy po kod, który dodano w poprzednim kroku.Ten kod dodaje nowych bloków konstrukcyjnych, które zawierają tabele do Microsoft.Office.Interop.Word.BuildingBlockEntries kolekcja, która zawiera wszystkie wielokrotnego użytku bloków konstrukcyjnych w szablonie.Nowych bloków konstrukcyjnych są zdefiniowane w nową kategorię o nazwie pracownika i informacje o klientach i przypisano typ konstrukcyjny 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);
    }
    
  2. Dodaj następujący kod do ThisDocument_Startup metoda ThisDocument klasy po kod, który dodano w poprzednim kroku.Ten kod powoduje usunięcie tabel z szablonu.Tabele nie są już potrzebne, ponieważ zostały dodane do galerii wielokrotnego użytku bloków konstrukcyjnych w szablonie.Kod najpierw stawia dokument w trybie projektowania, dzięki czemu mogą zostać usunięte z tabeli pracowników chronionych.

    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();
    

Tworzenie formantu zawartości, które wyświetla bloki konstrukcyjne

Utwórz formant zawartości, który zapewnia dostęp do bloków konstrukcyjnych (to jest tabel), które utworzony wcześniej.Użytkownicy mogą kliknąć ten formant, aby dodać tabele do dokumentu.

Aby utworzyć formant zawartości, który wyświetla bloki konstrukcyjne

  • Dodaj następujący kod do ThisDocument_Startup metoda ThisDocument klasy po kod, który dodano w poprzednim kroku.Ten kod inicjuje BuildingBlockGalleryContentControl obiektu, która została wcześniej zadeklarowana.BuildingBlockGalleryContentControl Wyświetla wszystkie bloki konstrukcyjne, które są zdefiniowane w kategorii pracownika i informacje o klientach , które mają typ konstrukcyjny 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";
    

Testowanie projektu

Użytkownicy mogą kliknąć formanty galerii bloków konstrukcyjnych w dokumencie, aby wstawić do tabeli pracowników lub tabela opinii klienta.Użytkowników można wpisać lub wybrać odpowiedzi w formantach zawartości w obu tabelach.Użytkownicy mogą modyfikować inne części tabeli opinii klienta, ale nie powinny być może modyfikować inne części tabeli Pracownik.

Aby przetestować tabelę pracownika

  1. Naciśnij klawisz F5, aby uruchomić projekt.

  2. Kliknij przycisk Wybierz swój pierwszy blok konstrukcyjny do wyświetlania pierwszego formantu zawartości galerii bloków konstrukcyjnych.

  3. Kliknij strzałkę rozwijaną obok Niestandardowy 1 Galeria w formancie nagłówek i wybierz Tabeli pracowników.

  4. Kliknij komórkę z prawej strony komórki nazwisko pracownika, a następnie wpisz nazwę.

    Sprawdź, czy tylko tekst, można dodać do tej komórki.PlainTextContentControl Umożliwia użytkownikom dodawanie tylko tekst, nie innych typów zawartości, takich jak sztuki lub tabeli.

  5. Kliknij komórkę z prawej strony komórki Data zatrudnienia, a następnie wybierz datę w polu wyboru.

  6. Kliknij komórkę z prawej strony komórki tytuł i wybierz jeden z tytułów zadanie w polu kombi.

    Opcjonalnie wpisz nazwę stanowiska, że nie ma na liście.Jest to możliwe, ponieważ ComboBoxContentControl umożliwia użytkownikom wybieranie z listy pozycji lub wpisać własne wpisy.

  7. Kliknij ikonę komórki na prawo od komórki obraz i przejdź do obrazu, aby go wyświetlić.

  8. Spróbuj dodać wiersze lub kolumny do tabeli, a następnie spróbuj usunąć wiersze i kolumny z tabeli.Zweryfikuj, że nie można modyfikować tabeli.GroupContentControl Uniemożliwia wprowadzanie żadnych zmian.

Aby przetestować tabelę opinii klienta

  1. Kliknij przycisk Wybierz drugiego bloku konstrukcyjnego do wyświetlania drugiego formantu zawartości galerii bloków konstrukcyjnych.

  2. Kliknij strzałkę rozwijaną obok Niestandardowy 1 Galeria w formancie nagłówek i wybierz Klienta Tabela.

  3. Kliknij komórkę z prawej strony komórki nazwę nabywcy, a następnie wpisz nazwę.

  4. Kliknij komórkę z prawej strony komórki ocena satysfakcji i wybierz jedną z dostępnych opcji.

    Zweryfikuj, że nie można wpisać własną pozycję.DropDownListContentControl Pozwala użytkownikom wybrać z listy wpisów.

  5. Kliknij komórkę z prawej strony komórki komentarze i wpisać kilka komentarzy.

    Opcjonalnie można dodać niektórych zawartość inna niż tekst, na przykład sztuki lub osadzonej tabeli.Jest to możliwe, ponieważ RichTextContentControl użytkownicy mogą dodawać zawartość inna niż tekst.

  6. Sprawdź, czy można dodać wiersze lub kolumny do tabeli, i że można usunąć wierszy i kolumn z tabeli.Jest to możliwe, ponieważ tabela ma nie chronione przez umieszczenie go w GroupContentControl.

  7. Zamknij szablon.

Następne kroki

Więcej o tym, jak używać formantów zawartości od tego tematu można uzyskać:

Zobacz też

Zadania

Porady: dodawanie formantów zawartości do dokumentów programu Word

Porady: ochrona części dokumentów za pomocą formantów zawartości

Koncepcje

Automatyzowanie programu Word za pomocą obiektów rozszerzonych

Formanty zawartości

Przegląd obiektów hosta i formantów hosta

Ograniczenia programowe elementów hosta i formantów hosta

Dodawanie formantów do dokumentów pakietu Office w czasie wykonywania