Exemplarische Vorgehensweise: Erstellen einer Vorlage mithilfe von Inhaltssteuerelementen

Diese exemplarische Vorgehensweise veranschaulicht, wie eine Anpassung auf Dokumentebene erstellt wird, die Inhaltssteuerelemente zum Erstellen strukturierter und wiederverwendbarer Inhalte in einer Microsoft Office Word-Vorlage verwendet.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene für Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

Mit Word können Sie eine Sammlung wiederverwendbarer Dokumentteile erstellen, die als Bausteine bezeichnet werden. Diese exemplarische Vorgehensweise veranschaulicht, wie zwei Tabellen als Bausteine erstellt werden. Jede Tabelle enthält mehrere Inhaltssteuerelemente, die unterschiedliche Inhaltstypen aufweisen können, z. B. reinen Text oder Datumsangaben. Eine der Tabellen enthält Informationen über einen Mitarbeiter und die andere Kundenfeedback.

Nachdem Sie ein Dokument von der Vorlage erstellt haben, können Sie ihm mithilfe mehrerer BuildingBlockGalleryContentControl-Objekte, die die verfügbaren Bausteine in der Vorlage anzeigen, eine der beiden Tabellen hinzufügen.

In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:

  • Erstellen von Tabellen, die Inhaltssteuerelemente in einer Word-Vorlage enthalten, zur Entwurfszeit

  • Programmgesteuertes Auffüllen eines Kombinationsfeld-Inhaltssteuerelements und eines Dropdownlisten-Inhaltssteuerelements

  • Verhindern, dass Benutzer eine bestimmte Tabelle bearbeiten

  • Hinzufügen von Tabellen zur Bausteinauflistung einer Vorlage

  • Erstellen eines Inhaltssteuerelements, das die verfügbaren Bausteine in der Vorlage anzeigt

    Hinweis

    Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Personalisieren der IDE.

Voraussetzungen

Zum Abschließen dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:

Erstellen eines neuen Word-Vorlagenprojekts

Erstellen Sie eine Word-Vorlage, damit Benutzer leicht eigene Kopien erstellen können.

So erstellen Sie ein neues Word-Vorlagenprojekt

  1. Erstellen Sie ein Word-Vorlagenprojekt mit dem Namen MyBuildingBlockTemplate. Erstellen Sie im Assistenten ein neues Dokument in der Projektmappe. Weitere Informationen finden Sie unter How to: Create Office projects in Visual Studio.

    Visual Studio öffnet die neue Word-Vorlage im Designer und fügt das MyBuildingBlockTemplate-Projekt zu Projektmappen-Explorer hinzu.

Erstellen der Mitarbeitertabelle

Erstellen Sie eine Tabelle, die vier verschiedene Typen von Inhaltssteuerelementen enthält, in denen der Benutzer Informationen zu einem Mitarbeiter eingeben kann.

So erstellen Sie die Mitarbeitertabelle

  1. Klicken Sie in der Word-Vorlage, die im Visual Studio-Designer gehostet wird, im Menüband auf die Registerkarte "Einfügen ".

  2. Klicken Sie in der Gruppe "Tabellen " auf "Tabelle", und fügen Sie eine Tabelle mit zwei Spalten und vier Zeilen ein.

  3. Geben Sie in der ersten Spalte Text ein, sodass sie der folgenden Spalte ähnelt:

    Mitarbeitername
    Einstellungsdatum
    Titel
    Bild
  4. Klicken Sie in die erste Zelle in der zweiten Spalte (neben " Mitarbeitername").

  5. Klicken Sie im Menüband auf die Registerkarte Entwickler .

    Hinweis

    Wenn die Registerkarte Entwickler nicht sichtbar ist, müssen Sie diese zuerst anzeigen. Weitere Informationen finden Sie unter How to: Show the developer tab on the ribbon.

  6. Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Text " PlainTextContentControl , um der ersten Zelle einen PlainTextContentControl Text hinzuzufügen.

  7. Klicken Sie auf die zweite Zelle in der zweiten Spalte (neben Einstellungsdatum).

  8. Klicken Sie in der Gruppe "Steuerelemente" auf die Schaltfläche "Datumsauswahl"DatePickerContentControl, um der zweiten Zelle einen DatePickerContentControl Eintrag hinzuzufügen.

  9. Klicken Sie auf die dritte Zelle in der zweiten Spalte (neben "Titel").

  10. Klicken Sie in der Gruppe "Steuerelemente" auf die Schaltfläche "Kombinationsfeld", um der dritten Zelle eine ComboBoxContentControl HinzuzufügenComboBoxContentControl.

  11. Klicken Sie auf die letzte Zelle in der zweiten Spalte (neben "Bild").

  12. Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Bildinhaltssteuerelement " PictureContentControl , um der letzten Zelle einen PictureContentControl Hinzuzufügen.

Erstellen der Kundenfeedbacktabelle

Erstellen Sie eine Tabelle, die drei verschiedene Typen von Inhaltssteuerelementen enthält, in der der Benutzer Informationen zu Kundenfeedback eingeben kann.

So erstellen Sie die Kundenfeedback-Tabelle

  1. Klicken Sie in der Word-Vorlage auf die Zeile nach der Zuvor hinzugefügten Mitarbeitertabelle, und drücken Sie die EINGABETASTE , um einen neuen Absatz hinzuzufügen.

  2. Klicken Sie im Menüband auf die Registerkarte "Einfügen ".

  3. Klicken Sie in der Gruppe "Tabellen " auf "Tabelle", und fügen Sie eine Tabelle mit zwei Spalten und drei Zeilen ein.

  4. Geben Sie in der ersten Spalte Text ein, sodass sie der folgenden Spalte ähnelt:

    Kundenname
    Zufriedenheitsbewertung
    Kommentare
  5. Klicken Sie in die erste Zelle der zweiten Spalte (neben " Kundenname").

  6. Klicken Sie im Menüband auf die Registerkarte Entwickler .

  7. Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Text " PlainTextContentControl , um der ersten Zelle einen PlainTextContentControl Text hinzuzufügen.

  8. Klicken Sie in die zweite Zelle der zweiten Spalte (neben "Zufriedenheitsbewertung").

  9. Klicken Sie in der Gruppe "Steuerelemente" auf die DropdownlistenschaltflächeDropDownListContentControl, um der zweiten Zelle eine DropDownListContentControl Hinzuzufügen.

  10. Klicken Sie in die letzte Zelle der zweiten Spalte (neben "Kommentare").

  11. Klicken Sie in der Gruppe "Steuerelemente" auf die Rich-Text-SchaltflächeRichTextContentControl, um der letzten Zelle einen RichTextContentControl Text hinzuzufügen.

Programmgesteuertes Auffüllen des Kombinationsfelds und der Dropdownliste

Sie können Inhaltssteuerelemente zur Entwurfszeit initialisieren, indem Sie das Eigenschaftenfenster in Visual Studio verwenden. Sie können sie auch zur Laufzeit initialisieren, wodurch Sie ihre Anfangszustände dynamisch festlegen können. Verwenden Sie für diese exemplarische Vorgehensweise Code, um die Einträge in der ComboBoxContentControl Und DropDownListContentControl zur Laufzeit aufzufüllen, damit Sie sehen können, wie diese Objekte funktionieren.

So ändern Sie die Benutzeroberfläche der Inhaltssteuerelemente programmgesteuert

  1. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.cs oder ThisDocument.vb, und klicken Sie dann auf "Code anzeigen".

  2. Fügen Sie der ThisDocument -Klasse den folgenden Code hinzu. Dieser Code deklariert mehrere Objekte, die Sie später in dieser exemplarischen Vorgehensweise verwenden.

    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
    
  3. Fügen Sie der ThisDocument_Startup-Methode der ThisDocument-Klasse den folgenden Code hinzu. Durch diesen Code werden ComboBoxContentControl und DropDownListContentControl in den Tabellen Einträge hinzugefügt und der Platzhaltertext festgelegt, der in den einzelnen Steuerelementen angezeigt wird, bevor sie vom Benutzer bearbeitet werden.

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

Benutzer am Bearbeiten der Mitarbeitertabelle hindern

Verwenden Sie das zuvor deklarierte GroupContentControl-Objekt, um die Mitarbeitertabelle zu schützen. Nachdem Sie die Tabelle geschützt haben, können Benutzer die Inhaltssteuerelemente in der Tabelle immer noch bearbeiten. Allerdings können sie in der ersten Spalte keinen Text bearbeiten oder die Tabelle auf andere Weise ändern, z. B. Zeilen und Spalten hinzufügen oder löschen. Weitere Informationen zum Schützen GroupContentControl eines Teils eines Dokuments finden Sie unter Inhaltssteuerelemente.

So verhindern Sie, dass Benutzer die Mitarbeitertabelle bearbeiten

  1. Fügen Sie der ThisDocument_Startup-Methode der ThisDocument-Klasse nach dem im vorherigen Schritt hinzugefügten Code den folgenden Code hinzu. Dieser Code verhindert, dass Benutzer die Mitarbeitertabelle bearbeiten, indem die Tabelle in das zuvor deklarierte GroupContentControl-Objekt eingefügt wird.

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

Hinzufügen der Tabellen zur Bausteinsammlung

Fügen Sie die Tabellen einer Auflistung von Dokumentbausteinen in der Vorlage hinzu, sodass Benutzer die Tabellen, die Sie erstellt haben, in das Dokument einfügen können. Weitere Informationen zu Dokumentbausteinen finden Sie unter Inhaltssteuerelemente.

So fügen Sie die Tabellen den Bausteinen in der Vorlage hinzu

  1. Fügen Sie der ThisDocument_Startup-Methode der ThisDocument-Klasse nach dem im vorherigen Schritt hinzugefügten Code den folgenden Code hinzu. Dieser Code fügt der Microsoft.Office.Interop.Word.BuildingBlockEntries-Auflistung neue Bausteine hinzu, die alle wiederverwendbaren Bausteine in der Vorlage enthalten. Die neuen Bausteine werden in einer neuen Kategorie namens "Mitarbeiter- und Kundeninformationen " definiert und dem Bausteintyp Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1zugewiesen.

    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. Fügen Sie der ThisDocument_Startup-Methode der ThisDocument-Klasse nach dem im vorherigen Schritt hinzugefügten Code den folgenden Code hinzu. Dieser Code löscht die Tabellen aus der Vorlage. Die Tabellen sind nicht mehr erforderlich, da Sie sie dem Katalog wiederverwendbarer Bausteine in der Vorlage hinzugefügt haben. Durch den Code wird das Dokument zuerst in den Entwurfsmodus versetzt, sodass die geschützte Mitarbeitertabelle gelöscht werden kann.

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

Erstellen eines Inhaltssteuerelements, das die Bausteine anzeigt

Erstellen Sie ein Inhaltssteuerelement, das den Zugriff auf die Bausteine (d. h. die Tabellen) ermöglicht, die Sie zuvor erstellt haben. Benutzer können auf dieses Steuerelement klicken, um die Tabellen dem Dokument hinzuzufügen.

So erstellen Sie ein Inhaltssteuerelement, das die Bausteine anzeigt

  1. Fügen Sie der ThisDocument_Startup-Methode der ThisDocument-Klasse nach dem im vorherigen Schritt hinzugefügten Code den folgenden Code hinzu. Dieser Code initialisiert das zuvor deklarierte BuildingBlockGalleryContentControl-Objekt. Dies BuildingBlockGalleryContentControl zeigt alle Bausteine an, die in der Kategorie "Mitarbeiter" und "Kundeninformationen " definiert sind und den Bausteintyp Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1aufweisen.

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

Testen des Projekts

Benutzer können auf die Steuerelemente im Bausteinkatalog im Dokument klicken, um die Mitarbeiter- oder Kundenfeedback-Tabelle einzufügen. Benutzer können in den Inhaltssteuerelementen in beiden Tabellen Antworten eingeben oder auswählen. Benutzer können andere Teile der Kundenfeedback-Tabelle ändern, sollten aber nicht in der Lage sein, andere Teile der Mitarbeitertabelle zu ändern.

So testen Sie die Mitarbeitertabelle

  1. Drücken Sie F5, um das Projekt auszuführen.

  2. Klicken Sie auf " Auswählen des ersten Bausteins" , um das erste Bausteinkatalog-Inhaltssteuerelement anzuzeigen.

  3. Klicken Sie auf den Dropdownpfeil neben der Überschrift "Benutzerdefinierter Katalog 1" im Steuerelement, und wählen Sie "Mitarbeitertabelle" aus.

  4. Klicken Sie in die Zelle rechts neben der Zelle "Mitarbeitername ", und geben Sie einen Namen ein.

    Stellen Sie sicher, dass Sie dieser Zelle nur Text hinzufügen können. PlainTextContentControl ermöglicht es Benutzern, nur Text und keine anderen Inhaltstypen wie Grafiken oder Tabellen hinzuzufügen.

  5. Klicken Sie in die Zelle rechts neben der Zelle "Einstellungsdatum ", und wählen Sie in der Datumsauswahl ein Datum aus.

  6. Klicken Sie in die Zelle rechts neben der Zelle "Titel ", und wählen Sie im Kombinationsfeld eine der Stellentitel aus.

    Geben Sie optional eine Berufsbezeichnung ein, die nicht in der Liste enthalten ist. Dies ist möglich, weil ComboBoxContentControl Benutzern die Auswahl aus einer Liste von Einträgen oder die Eingabe eigener Einträge ermöglicht.

  7. Klicken Sie auf das Symbol in der Zelle rechts neben der Bildzelle , und navigieren Sie zu einem Bild, um es anzuzeigen.

  8. Versuchen Sie, der Tabelle Zeilen oder Spalten hinzuzufügen und Zeilen und Spalten aus der Tabelle zu löschen. Vergewissern Sie sich, dass Sie die Tabelle nicht ändern können. GroupContentControl verhindert, dass Sie Änderungen vornehmen.

So testen Sie die Kundenfeedback-Tabelle

  1. Klicken Sie auf " Auswählen des zweiten Bausteins" , um das zweite Bausteinkatalog-Inhaltssteuerelement anzuzeigen.

  2. Klicken Sie auf den Dropdownpfeil neben der Überschrift "Benutzerdefinierter Katalog 1" im Steuerelement, und wählen Sie "Kundentabelle" aus.

  3. Klicken Sie in die Zelle rechts neben der Zelle "Kundenname ", und geben Sie einen Namen ein.

  4. Klicken Sie rechts neben der Zelle "Zufriedenheitsbewertung" auf die Zelle, und wählen Sie eine der verfügbaren Optionen aus.

    Stellen Sie sicher, dass Sie ihren eigenen Eintrag nicht eingeben können. DropDownListContentControl ermöglicht Benutzern nur die Auswahl aus einer Liste von Einträgen.

  5. Klicken Sie in die Zelle rechts neben der Zelle "Kommentare ", und geben Sie einige Kommentare ein.

    Fügen Sie optional andere Inhalte als Text hinzu, z. B. Grafiken oder eine eingebettete Tabelle. Dies ist möglich, weil RichTextContentControl Benutzern das Hinzufügen anderer Inhalt als Text ermöglicht.

  6. Vergewissern Sie sich, dass Sie der Tabelle Zeilen oder Spalten hinzufügen und Zeilen und Spalten aus der Tabelle löschen können. Dies ist möglich, da Sie die Tabelle nicht geschützt haben, indem Sie sie in GroupContentControl eingefügt haben.

  7. Schließen Sie die Vorlage.

Nächste Schritte

Weitere Informationen zur Verwendung von Inhaltssteuerelementen finden Sie in diesem Thema: