Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser exemplarischen Vorgehensweise wird veranschaulicht, wie Sie eine Anpassung auf Dokumentebene erstellen, die Inhaltssteuerelemente verwendet, um strukturierte und wiederverwendbare Inhalte in einer Microsoft Office Word-Vorlage zu erstellen.
Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene für Word. Weitere Informationen finden Sie unter Funktionen verfügbar nach Office-Anwendung und Projekttyp.
Mit Word können Sie eine Sammlung wiederverwendbarer Dokumentteile erstellen, die als Bausteine bezeichnet werden. In dieser Schritt-für-Schritt-Anleitung wird gezeigt, wie Sie zwei Tabellen als die Bausteine erstellen. Jede Tabelle enthält mehrere Inhaltssteuerelemente, die unterschiedliche Inhaltstypen enthalten können, z. B. reinen Text oder Datumsangaben. Eine der Tabellen enthält Informationen zu einem Mitarbeiter, und die andere Tabelle enthält Kundenfeedback.
Nachdem Sie ein Dokument aus der Vorlage erstellt haben, können Sie einem Dokument eine der Tabellen hinzufügen, indem Sie mehrere BuildingBlockGalleryContentControl Objekte verwenden, die die verfügbaren Bausteine in der Vorlage anzeigen.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Erstellen von Tabellen, die Inhaltssteuerelemente in einer Word-Vorlage während der Entwurfsphase enthalten.
Programmgesteuertes Auffüllen eines Kombinationsfeld-Inhaltssteuerelements und eines Dropdownlisten-Inhaltssteuerelements.
Benutzer am Bearbeiten einer angegebenen Tabelle hindern.
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
Sie benötigen die folgenden Komponenten, um diese Schritt-für-Schritt-Anleitung abzuschließen.
Eine Version von Visual Studio, die die Microsoft Office-Entwicklertools enthält. 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 ihre eigenen Kopien ganz einfach 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 Lösung. 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 dem Projektmappen-Explorer hinzu.
Erstellen der Mitarbeitertabelle
Erstellen Sie eine Tabelle, die vier verschiedene Arten von Inhaltssteuerelementen enthält, in die 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 Text in die erste Spalte ein, damit sie der folgenden Spalte ähnelt:
Mitarbeitername Einstellungsdatum Title Picture Klicken Sie in die erste Zelle in der zweiten Spalte (neben "Mitarbeitername").
Klicken Sie im Menüband auf die Registerkarte " Entwicklertools ".
Hinweis
Wenn die Registerkarte " Entwicklertools " nicht angezeigt wird, müssen Sie sie 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
PlainTextContentControl, um der ersten Zelle einen PlainTextContentControl Eintrag hinzuzufügen.Klicken Sie auf die zweite Zelle in der zweiten Spalte (neben Einstellungsdatum).
Klicken Sie in der Gruppe "Steuerelemente" auf die ", um der zweiten Zelle einen
Eintrag hinzuzufügen.DatePickerContentControlKlicken Sie auf die dritte Zelle in der zweiten Spalte (neben "Titel").
Klicken Sie in der Gruppe "Steuerelemente " auf die Kombinationsfeldschaltfläche
, 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 ein PictureContentControl hinzuzufügen.
Erstellen der Kundenfeedbacktabelle
Erstellen Sie eine Tabelle, die drei verschiedene Arten von Inhaltssteuerelementen enthält, in die der Benutzer Kundenfeedbackinformationen eingeben kann.
So erstellen Sie die Kundenfeedbacktabelle
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 Text in die erste Spalte ein, damit sie der folgenden Spalte ähnelt:
Name des Kunden Zufriedenheitsbewertung Kommentare Klicken Sie in die erste Zelle der zweiten Spalte (neben "Kundenname").
Klicken Sie im Menüband auf die Registerkarte " Entwicklertools ".
Klicken Sie in der Gruppe Steuerelemente auf die Schaltfläche Text
PlainTextContentControl, um der ersten Zelle einen PlainTextContentControl Eintrag hinzuzufügen.Klicken Sie in die zweite Zelle der zweiten Spalte (neben "Zufriedenheitsbewertung").
In der Gruppe Steuerelemente klicken Sie auf die Schaltfläche Dropdown-Liste
, 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 Schaltfläche 'Rich Text'
RichTextContentControl, um der letzten Zelle einen RichTextContentControl Eintrag 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 Anleitung 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 im Projektmappen-Explorer mit der rechten Maustaste auf ThisDocument.cs oder ThisDocument.vb, und klicken Sie dann auf "Code anzeigen".
Fügen Sie der Klasse den folgenden Code hinzu
ThisDocument. Dieser Code deklariert mehrere Objekte, die Sie später in dieser exemplarischen Vorgehensweise verwenden werden.Fügen Sie den folgenden Code in die
ThisDocument_StartupMethode derThisDocumentKlasse ein. Dieser Code fügt Einträge zu den ComboBoxContentControl und DropDownListContentControl Tabellen hinzu und legt den Platzhaltertext fest, der in jedem dieser Bedienelemente angezeigt wird, bevor der Benutzer diese bearbeitet.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 GroupContentControl Objekt, das Sie zuvor deklariert haben, um die Mitarbeitertabelle zu schützen. Nach dem Schützen der Tabelle können Benutzer die Inhaltssteuerelemente in der Tabelle weiterhin bearbeiten. Sie können text jedoch nicht in der ersten Spalte bearbeiten oder die Tabelle auf andere Weise ändern, z. B. Hinzufügen oder Löschen von Zeilen und Spalten. Weitere Informationen darüber, wie Sie mit einem GroupContentControl einen Teil eines Dokuments schützen können, finden Sie unter Steuerelemente für Inhalte.
So verhindern Sie, dass Benutzer die Mitarbeitertabelle bearbeiten
Fügen Sie der
ThisDocument_StartupMethode derThisDocumentKlasse nach dem Code, den Sie im vorherigen Schritt hinzugefügt haben, den folgenden Code hinzu. Dieser Code verhindert, dass Benutzer die Mitarbeitertabelle bearbeiten, indem sie die Tabelle in das GroupContentControl zuvor deklarierte Objekt einfügen.
Hinzufügen der Tabellen zur Bausteinsammlung
Fügen Sie die Tabellen einer Auflistung von Dokumentbausteinen in der Vorlage hinzu, damit Benutzer die Tabellen einfügen können, die Sie in das Dokument erstellt haben. Weitere Informationen zu Dokumentbausteinen finden Sie unter Inhaltssteuerungselemente.
So fügen Sie die Tabellen zu den Bausteinen in der Vorlage hinzu
Fügen Sie der
ThisDocument_StartupMethode derThisDocumentKlasse nach dem Code, den Sie im vorherigen Schritt hinzugefügt haben, den folgenden Code hinzu. Dieser Code fügt der Microsoft.Office.Interop.Word.BuildingBlockEntries-Auflistung neue Bausteine hinzu, die die Tabellen enthalten und die alle wiederverwendbaren Bausteine in der Vorlage umfassen. Die neuen Bausteine werden in einer neuen Kategorie namens "Mitarbeiter- und Kundeninformationen " definiert und dem BausteintypMicrosoft.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); }Fügen Sie der
ThisDocument_StartupMethode derThisDocumentKlasse nach dem Code, den Sie im vorherigen Schritt hinzugefügt haben, den folgenden Code hinzu. Dieser Code löscht die Tabellen aus der Vorlage. Die Tabellen sind nicht mehr erforderlich, da Sie sie dem Katalog der wiederverwendbaren Bausteine in der Vorlage hinzugefügt haben. Der Code versetzt das Dokument zuerst in den Entwurfsmodus, sodass die geschützte Mitarbeitertabelle gelöscht werden kann.
Erstellen Sie ein Inhaltssteuerelement, sodass es die Bausteine anzeigt
Erstellen Sie ein Inhaltssteuerelement, das Zugriff auf die Bausteine (d. h. die Tabellen) bietet, die Sie zuvor erstellt haben. Benutzer können auf dieses Steuerelement klicken, um dem Dokument die Tabellen hinzuzufügen.
So erstellen Sie ein Inhaltssteuerelement, das die Bausteine anzeigt
Fügen Sie der
ThisDocument_StartupMethode derThisDocumentKlasse nach dem Code, den Sie im vorherigen Schritt hinzugefügt haben, den folgenden Code hinzu. Dieser Code initialisiert das BuildingBlockGalleryContentControl Zuvor deklarierte Objekt. Dies BuildingBlockGalleryContentControl zeigt alle Bausteine an, die in der Kategorie "Mitarbeiter" und "Kundeninformationen " definiert sind und den BausteintypMicrosoft.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 Baustein-Galerie-Steuerelemente im Dokument klicken, um die Mitarbeitertabelle oder die Kunden-Feedback-Tabelle einzufügen. Benutzer können Antworten in die Inhaltssteuerelemente in beiden Tabellen eingeben oder auswählen. Benutzer können andere Teile der Kundenfeedbacktabelle ändern, sollten aber nicht in der Lage sein, andere Teile der Mitarbeitertabelle zu ändern.
Um die Mitarbeitertabelle zu testen
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. Auf PlainTextContentControl diese Weise können Benutzer nur Text hinzufügen, nicht andere Inhaltstypen wie Kunst oder Eine Tabelle.
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 den Namen einer Position ein, die sich nicht in der Liste befindet. Dies ist möglich, da das ComboBoxContentControl es Nutzern ermöglicht, aus einer Liste von Einträgen auszuwählen oder eigene Einträge einzugeben.
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 versuchen Sie, Zeilen und Spalten aus der Tabelle zu löschen. Stellen Sie sicher, dass Sie die Tabelle nicht ändern können. GroupContentControl verhindert, dass Sie Änderungen vornehmen können.
So testen Sie die Kundenfeedbacktabelle
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.
Überprüfen Sie, dass Sie Ihren eigenen Eintrag nicht eingeben dürfen. Das 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 einen anderen Inhalt als Text hinzu, z. B. Grafiken oder eine eingebettete Tabelle. Dies ist möglich, da Benutzer RichTextContentControl andere Inhalte als Text hinzufügen können.
Stellen Sie sicher, dass Sie der Tabelle Zeilen oder Spalten hinzufügen können und dass Sie Zeilen und Spalten aus der Tabelle löschen können. Dies ist möglich, da Sie die Tabelle nicht durch Einfügen in eine GroupContentControlTabelle geschützt haben.
Schließen Sie die Vorlage.
Nächste Schritte
Weitere Informationen zur Verwendung von Inhaltssteuerelementen finden Sie in diesem Thema:
- Binden Sie Inhaltssteuerelemente an XML-Teile, die auch als benutzerdefinierte XML-Komponenten bezeichnet werden, die in ein Dokument eingebettet sind. Weitere Informationen finden Sie unter Walkthrough: Binden von Inhaltssteuerelementen an benutzerdefinierte XML-Komponenten.
Verwandte Inhalte
- 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
- Programmbeschränkungen von Hostkomponenten und -steuerungen
- Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit