Arbeiten mit Inhaltssteuerelementen
Was sind Inhaltssteuerelemente?
Inhaltssteuerelemente sind gebundene und möglicherweise mit Beschriftungen versehene Bereiche in einem Dokument, die als Container für bestimmte Typen von Inhalt dienen. Einzelne Inhaltssteuerelemente können Inhalte wie Datumsangaben, Listen oder Absätze mit formatiertem Text enthalten. In einigen Fällen erinnern Inhaltssteuerelemente möglicherweise an Formulare. Sie sind jedoch viel leistungsfähiger, flexibler und nützlicher, da sie Ihnen ermöglichen, umfangreiche, strukturierte Inhaltsblöcke zu erstellen. Mit Inhaltssteuerelementen können Sie Vorlagen erstellen, die klar definierte Blöcke in Ihre Dokumente einfügen. Inhaltssteuerelemente ermöglichen Folgendes:
Angeben strukturierter Bereiche in einer Vorlage. Jeder strukturierte Bereich verfügt über seine eigene eindeutige ID, sodass Sie daraus lesen und darin schreiben können. Zu Beispielen strukturierter Bereiche (oder Inhaltssteuerelemente) zählen Kombinationsfelder, Bilder, Textblöcke und Kalender.
Bestimmen Sie das Verhalten von Inhaltssteuerelementen. Jedes Inhaltssteuerelement nimmt einen Teil eines Dokuments ein, und als Vorlagenautor können Sie angeben, was die einzelnen Regionen ausführen. Wenn ein Bereich ihrer Vorlage beispielsweise ein Kalender sein soll, fügen Sie ein Kalenderinhaltssteuerelement in diesen Bereich des Dokuments ein, das automatisch bestimmt, was dieser Inhaltsblock ausführt. Wenn ein Abschnitt einer Vorlage ein Bild anzeigen soll, erstellen Sie in diesem Bereich ein Bildinhaltssteuerelement. Auf diese Weise können Sie eine Vorlage mit vordefinierten Blocktypen erstellen.
Einschränken der Fähigkeit, Inhaltssteuerelemente in einem Dokument zu ändern. Jedes Inhaltssteuerelement kann eingeschränkt werden, sodass es weder gelöscht noch bearbeitet werden kann. Dies ist beispielsweise nützlich, wenn Sie über Copyrightinformationen in einer Vorlage verfügen, die der Benutzer zwar lesen, aber nicht bearbeiten darf. Sie können auch als ein anderes Beispiel ein Inhaltssteuerelement sperren, das Sie in einem Vorlagendokument platziert haben, sodass ein Benutzer nicht versehentlich die im Inhaltssteuerelement enthaltenen Inhalte löscht. Dadurch werden diese Vorlagen zuverlässiger als in vorherigen Versionen.
Zuordnen der Inhalte eines Inhaltssteuerelements zu Daten in einer benutzerdefinierten XML-Komponente. Wenn Sie beispielsweise Nur-Text-Inhaltssteuerelemente in Zellen einer Tabelle von Aktienkursen einfügen, können Sie die Inhaltssteuerelemente in den Tabellenzellen zu Knoten in einer XML-Datei zuordnen, die die aktuellen Aktienkurse enthält. Wenn sich die Kurse ändern, kann ein Add-In programmatisch die angefügte XML-Datei aktualisieren, die an jedes Nur-Text-Inhaltssteuerelement gebunden ist, und die neuen, aktualisierten Kurse werden automatisch in der Tabelle angezeigt.
Die einfachste Möglichkeit, ein Inhaltssteuerelement zu erstellen, ist über die Benutzeroberfläche (obwohl sie es auch programmatisch erstellen können). Wählen Sie zum Erstellen eines Inhaltssteuerelements über die Benutzeroberfläche den Inhalt aus, den Sie in ein Inhaltssteuerelement umwandeln möchten (beispielsweise ein wenig Text oder ein Bild), und wählen Sie dann den gewünschten Inhaltssteuerelementtyp aus dem Inhaltssteuerelementabschnitt des Menübands „Entwickler" aus. Dadurch wird um den ausgewählten Inhalt herum ein Inhaltssteuerelement erstellt.
Inhaltssteuerelemente im Word-Objektmodell
Die folgende Tabelle umfasst die Objekte im Word-Objektmodell, die mit Inhaltssteuerelementen zusammenhängen.
Name | Beschreibung |
---|---|
ContentControl | Jedes ContentControl-Objekt repräsentiert ein einzelnes Inhaltssteuerelement in einem Dokument. Verwenden Sie die Sammlung ContentControls, um auf einzelne ContentControl -Objekte zuzugreifen. |
ContentControls | Verwenden Sie die ContentControls-Eigenschaften der Document-, Range- und Selection-Objekte , um auf die Auflistung von Inhaltssteuerelementen zuzugreifen. Sie können auch die Methoden SelectContentControlsByTitle und SelectContentControlsByTag des Document -Objekts verwenden, um auf eine ContentControls -Sammlung zuzugreifen, die bestimmte Inhaltssteuerelemente enthält, die alle über denselben Titel oder Tagwert verfügen. |
ContentControlListEntry | Wenn ein Inhaltssteuerelement eine Dropdownliste oder ein Kombinationsfeld ist, stellt das ContentControlListEntry-Objekt einzelne Elemente in der Liste dar. |
ContentControlListEntries | Verwenden Sie die DropdownListEntries-Eigenschaft des ContentControl-Objekts , um auf alle Elemente in einer einzelnen Dropdownliste oder einem Kombinationsfeld zuzugreifen. |
Jede(s) dieser Objekte oder Sammlungen verfügt über Methoden und Eigenschaften, was Ihnen die Arbeit individuell oder als Sammlung mit den Inhaltssteuerelementen ermöglicht. Da verschiedene Inhaltssteuerelementtypen zur Verfügung stehen (siehe der folgende Abschnitt „Inhaltssteuerelementtypen“), weist das ContentControl-Objekt Member auf, die möglicherweise nicht auf alle unterschiedlichen Inhaltssteuerelementtypen zutreffen. Die folgende Tabelle zeigt diese Eigenschaften und Methoden des ContentControl-Objekts, die nur auf bestimmte Inhaltssteuerelementtypen zutreffen.
Hinweis
Eine vollständige Liste aller Eigenschaften und Methoden des ContentControl-Objekts finden Sie unter Inhaltssteuerelemente.
Eigenschaft/Methode | Gilt für |
---|---|
BuildingBlockCategory (Eigenschaft) | BuildingBlock-Katalog-Inhaltssteuerelemente (wdContentControlBuildingBlockGallery) |
BuildingBlockType (Eigenschaft) | BuildingBlock-Katalog-Inhaltssteuerelemente (wdContentControlBuildingBlockGallery) |
DateDisplayFormat (Eigenschaft) | Datums-Inhaltssteuerelement (wdContentControlDate) |
DateDisplayLocale (Eigenschaft) | Datums-Inhaltssteuerelement (wdContentControlDate) |
DateStorageFormat (Eigenschaft) | Datums-Inhaltssteuerelement (wdContentControlDate) |
DropdownListEntries (Eigenschaft) | Kombinationsfeld- und Dropdownlisten-Inhaltssteuerelemente (wdContentControlComboBox und wdContentControlDropdownList) |
MultiLine (Eigenschaft) | Nur-Text-Inhaltssteuerelemente (wdContentControlText) |
Ungroup (Methode) | Gruppen-Inhaltssteuerelemente (wdContentControlGroup) |
SetCheckedSymbol (Methode) | Kontrollkästchen-Inhaltssteuerelement (wdContentControlCheckBox) |
SetUncheckedSymbol (Methode) | Kontrollkästchen-Inhaltssteuerelement (wdContentControlCheckBox) |
Inhaltssteuerelementtypen
Es gibt acht verschiedene Typen von Inhaltssteuerelementen, die Sie einem Dokument hinzufügen können, von denen jede in einer neuen Enumeration mit dem Namen WdContentControlType dargestellt wird.
Inhaltssteuerelementtyp | Beschreibung | WdContentControlType-Konstante |
---|---|---|
Ein Kontrollkästchen. | wdContentControlCheckBox | |
Kalender | Eine Datums-/Uhrzeitauswahl. | wdContentControlDate |
Bausteine | Der Benutzer kann aus angegebenen Bausteinen auswählen. | wdContentControlBuildingBlockGallery |
Dropdownliste | Eine Dropdownliste. | wdContentControlDropDownList |
Gruppe | Definiert einen geschützten Bereich eines Dokuments, den Benutzer weder bearbeiten noch löschen können. Ein Gruppensteuerelement kann beliebige Dokumentelemente wie Text, Tabellen, Grafiken und andere Inhaltssteuerelemente enthalten. | wdContentControlGroup |
Kombinationsfeld | Ein Kombinationsfeld. | wdContentControlComboBox |
Bild | Ein Bild. | wdContentControlBlockPicture |
Rich-Text | Ein Block mit Rich-Text. | wdContentControlRichText |
Nur-Text | Ein Block mit Nur-Text. | wdContentControlText |
Inhaltssteuerelementereignisse
Zusätzlich zu den Eigenschaften und Methoden, die mit dem Inhaltssteuerelement-Objektmodell in Word zur Verfügung stehen, können Sie auch verschiedene Ereignisse verwenden, die Ihnen das Ausführen von Code ermöglichen, wenn ein Inhaltssteuerelement hinzugefügt oder entfernt wird oder wenn ein Benutzer ein Inhaltssteuerelement bearbeitet. In der folgenden Liste wird jedes der Ereignisse und wann der Ereigniscode ausgeführt wird beschrieben. Alle diese Ereignisse sind Member des Document-Objekts.
Ereignisname | Beschreibung |
---|---|
ContentControlAfterAdd | Tritt auf, nachdem ein neues Inhaltssteuerelement zu einem Dokument hinzugefügt wurde. Dieses Ereignis prüft, ob der Benutzer das Inhaltssteuerelement mithilfe der Tools auf der Benutzeroberfläche oder mithilfe von Code hinzufügt. |
ContentControlBeforeContentUpdate | Tritt auf, bevor Word den Inhalt in einem Inhaltssteuerelement aktualisiert. |
ContentControlBeforeDelete | Tritt auf, bevor ein Benutzer ein Inhaltssteuerelement löscht. Dieses Ereignis prüft, ob der Benutzer das Inhaltssteuerelement mithilfe der Tools auf der Benutzeroberfläche oder mithilfe von Code löscht. |
ContentControlBeforeStoreUpdate | Tritt auf, bevor Word die Inhalte eines Inhaltssteuerelements aus Daten im Datenspeicher des Dokuments aktualisiert. |
ContentControlOnEnter | Tritt auf, wenn ein Benutzer ein Inhaltssteuerelement eingibt. |
ContentControlOnExit | Tritt auf, wenn ein Benutzer ein Inhaltssteuerelement beendet. |
Arbeiten mit dem Code
Unabhängig davon, ob Sie ein Inhaltssteuerelement hinzufügen, ein Inhaltssteuerelement löschen oder auf vorhandene Inhaltssteuerelemente zugreifen und diese bearbeiten möchten, können Sie dies mit Code tun. In den folgenden Abschnitten finden Sie einige Beispiele dafür, was Sie tun können.
Hinzufügen eines Inhaltssteuerelements
Wie bereits zuvor erwähnt, gibt es acht verschiedene Inhaltssteuerelementtypen, die Sie zu Ihren Dokumenten hinzufügen können. Verwenden Sie die Methode Add der Sammlung ContentControls, um einem Dokument ein Inhaltssteuerelement hinzuzufügen. Im folgenden Beispiel wird eine Datumsauswahl zu einem aktiven Dokument hinzugefügt, und es wird der Datumswert auf das aktuelle Datum festgelegt.
Sub AddDatePicker()
Dim objCC As ContentControl
Dim objDate As Date
Set objCC = ActiveDocument.ContentControls _
.Add(wdContentControlDate)
objDate = Date
objCC.Range.Text = objDate
End Sub
Verwenden Sie die gleiche grundlegende Konstruktion, um einem Dokument eine der verschiedenen Arten von Inhaltssteuerelementen hinzuzufügen.
Hinzufügen eines Titels zu einem Inhaltssteuerelement
Verwenden Sie die Eigenschaft Title, um einem Inhaltssteuerelement einen Titel hinzuzufügen. Hierbei handelt es sich um für Benutzer sichtbaren Text, der ihnen dabei helfen kann, welchen Datentyp sie in das Inhaltssteuerelement eingeben müssen. Im folgenden Beispiel wird dem aktiven Dokument ein neues Nur-Text-Inhaltssteuerelement hinzugefügt, und der Titel oder Anzeigetext für das Steuerelement wird festgelegt.
Sub SetTitleForContentControl()
Dim objCC As ContentControl
Set objCC = ActiveDocument.ContentControls _
.Add(wdContentControlText)
objCC.Title = "Please enter your name"
End Sub
Ändern von Platzhaltertext zu einem Inhaltssteuerelement
Bei Platzhaltertext handelt es sich um temporären Text. Hierbei kann es sich um eine einfache Beschreibung aus einem oder zwei Wörtern handeln (ähnlich wie beim Titel), oder es kann sich um eine umfassendere Beschreibung handeln (wie nummerierte Schritte). Das Ändern des Platzhaltertextes ist das gleiche, unabhängig vom Inhaltssteuerelementtyp oder vom erwarteten Inhalt des Inhaltssteuerelements. Im folgenden Beispiel wird einem aktiven Dokument eine Dropdownliste hinzugefügt, es wird der Platzhaltertext für das Steuerelement festgelegt, und es wird die Liste mit den Namen von verschiedenen Tieren ausgefüllt.
Sub SetPlaceholderText()
Dim objCC As ContentControl
Set objCC = Selection.ContentControls _
.Add(wdContentControlComboBox)
objCC.Title = "Favorite Animal"
objCC.SetPlaceholderText _
Text:="Please select your favorite animal "
'List entries
objCC.DropdownListEntries.Add "Cat"
objCC.DropdownListEntries.Add "Dog"
objCC.DropdownListEntries.Add "Horse"
objCC.DropdownListEntries.Add "Monkey"
objCC.DropdownListEntries.Add "Snake"
objCC.DropdownListEntries.Add "Other"
End Sub
Dies sind nur einige Möglichkeiten, wie Sie das Objektmodell zum Ändern von Inhaltssteuerelementen in Ihren Dokumenten verwenden können. Weitere Beispiele finden Sie im Abschnitt Vorgehensweise.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.