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:
Eine Edition von Visual Studio, die die Microsoft Office-Entwicklungstools umfasst. Weitere Informationen finden Sie unter Konfigurieren eines Computers zum Entwickeln von Office-Lösungen.
Microsoft Word.
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
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
Klicken Sie in der Word-Vorlage, die im Visual Studio-Designer gehostet wird, im Menüband auf die Registerkarte "Einfügen ".
Klicken Sie in der Gruppe "Tabellen " auf "Tabelle", und fügen Sie eine Tabelle mit zwei Spalten und vier Zeilen ein.
Geben Sie in der ersten Spalte Text ein, sodass sie der folgenden Spalte ähnelt:
Mitarbeitername Einstellungsdatum Titel Bild Klicken Sie in die erste Zelle in der zweiten Spalte (neben " Mitarbeitername").
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.
Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Text " , um der ersten Zelle einen PlainTextContentControl Text hinzuzufügen.
Klicken Sie auf die zweite Zelle in der zweiten Spalte (neben Einstellungsdatum).
Klicken Sie in der Gruppe "Steuerelemente" auf die Schaltfläche "Datumsauswahl", um der zweiten Zelle einen DatePickerContentControl Eintrag hinzuzufügen.
Klicken Sie auf die dritte Zelle in der zweiten Spalte (neben "Titel").
Klicken Sie in der Gruppe "Steuerelemente" auf die Schaltfläche "Kombinationsfeld", um der dritten Zelle eine ComboBoxContentControl Hinzuzufügen.
Klicken Sie auf die letzte Zelle in der zweiten Spalte (neben "Bild").
Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Bildinhaltssteuerelement " , 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
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.
Klicken Sie im Menüband auf die Registerkarte "Einfügen ".
Klicken Sie in der Gruppe "Tabellen " auf "Tabelle", und fügen Sie eine Tabelle mit zwei Spalten und drei Zeilen ein.
Geben Sie in der ersten Spalte Text ein, sodass sie der folgenden Spalte ähnelt:
Kundenname Zufriedenheitsbewertung Kommentare Klicken Sie in die erste Zelle der zweiten Spalte (neben " Kundenname").
Klicken Sie im Menüband auf die Registerkarte Entwickler .
Klicken Sie in der Gruppe "Steuerelemente " auf die Schaltfläche "Text " , um der ersten Zelle einen PlainTextContentControl Text hinzuzufügen.
Klicken Sie in die zweite Zelle der zweiten Spalte (neben "Zufriedenheitsbewertung").
Klicken Sie in der Gruppe "Steuerelemente" auf die Dropdownlistenschaltfläche, um der zweiten Zelle eine DropDownListContentControl Hinzuzufügen.
Klicken Sie in die letzte Zelle der zweiten Spalte (neben "Kommentare").
Klicken Sie in der Gruppe "Steuerelemente" auf die Rich-Text-Schaltfläche, 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
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.cs oder ThisDocument.vb, und klicken Sie dann auf "Code anzeigen".
Fügen Sie der
ThisDocument
-Klasse den folgenden Code hinzu. Dieser Code deklariert mehrere Objekte, die Sie später in dieser exemplarischen Vorgehensweise verwenden.Fügen Sie der
ThisDocument_Startup
-Methode derThisDocument
-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
Fügen Sie der
ThisDocument_Startup
-Methode derThisDocument
-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.
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
Fügen Sie der
ThisDocument_Startup
-Methode derThisDocument
-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 BausteintypMicrosoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1
zugewiesen.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); }
Fügen Sie der
ThisDocument_Startup
-Methode derThisDocument
-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.
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
Fügen Sie der
ThisDocument_Startup
-Methode derThisDocument
-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 BausteintypMicrosoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1
aufweisen.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
Drücken Sie F5, um das Projekt auszuführen.
Klicken Sie auf " Auswählen des ersten Bausteins" , um das erste Bausteinkatalog-Inhaltssteuerelement anzuzeigen.
Klicken Sie auf den Dropdownpfeil neben der Überschrift "Benutzerdefinierter Katalog 1" im Steuerelement, und wählen Sie "Mitarbeitertabelle" aus.
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.
Klicken Sie in die Zelle rechts neben der Zelle "Einstellungsdatum ", und wählen Sie in der Datumsauswahl ein Datum aus.
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.
Klicken Sie auf das Symbol in der Zelle rechts neben der Bildzelle , und navigieren Sie zu einem Bild, um es anzuzeigen.
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
Klicken Sie auf " Auswählen des zweiten Bausteins" , um das zweite Bausteinkatalog-Inhaltssteuerelement anzuzeigen.
Klicken Sie auf den Dropdownpfeil neben der Überschrift "Benutzerdefinierter Katalog 1" im Steuerelement, und wählen Sie "Kundentabelle" aus.
Klicken Sie in die Zelle rechts neben der Zelle "Kundenname ", und geben Sie einen Namen ein.
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.
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.
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.
Schließen Sie die Vorlage.
Nächste Schritte
Weitere Informationen zur Verwendung von Inhaltssteuerelementen finden Sie in diesem Thema:
- Binden von Inhaltssteuerelementen an XML-Elemente (werden auch als benutzerdefinierte XML-Teile bezeichnet), die in ein Dokument eingebettet sind Weitere Informationen finden Sie unter Walkthrough: Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Komponenten.
Zugehöriger Inhalt
- Automatisieren von Word mithilfe erweiterter Objekte
- Inhaltssteuerelemente
- Vorgehensweise: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten
- Vorgehensweise: Schützen von Teilen von Dokumenten mithilfe von Inhaltssteuerelementen
- Übersicht über Hostelemente und Hoststeuerelemente
- Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen
- Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit