Freigeben über


Binden eines Inhaltssteuerelements an einen Knoten im Datenspeicher

Die XML-Zuordnung ist eine Funktion von Word, mit der Sie eine Verknüpfung zwischen einem Dokument und einer XML-Datei erstellen können. Dies führt zu einer wirklichen Daten-/Ansichtstrennung bei der Dokumentformatierung und den benutzerdefinierten XML-Daten.

Mithilfe der XML-Zuordnung können Sie ein Element in einer benutzerdefinierten XML-Komponenten zuordnen, die einem Dokument zugewiesen ist. Der Datenspeicher bietet den Zugriff auf alle benutzerdefinierten XML-Komponenten, die in einer geöffneten Datei gespeichert sind. Verweisen Sie auf einen beliebigen Knoten innerhalb einer benutzerdefinierten XML-Komponente innerhalb des Datenspeichers.

Weitere Informationen zu Inhaltssteuerelementen finden Sie unter Arbeiten mit Inhaltssteuerelementen.

In diesem Beispiel werden die folgenden Objekte verwendet:

Beispiel

Mithilfe der nachfolgenden Schritte können Sie ein Inhaltssteuerelement an einen Knoten im Datenspeicher des Dokuments binden.

  1. Erstellen Sie das an einen Knoten im Datenspeicher zu bindende Inhaltssteuerelement.Inhaltssteuerelemente sind vordefinierte Inhalte. Es gibt verschiedene Typen von Inhaltssteuerelementen, z. B. Textblöcke, Dropdownmenüs, Kombinationsfelder, Kalendersteuerelemente und Bilder. Diese Inhaltssteuerelemente können Sie einem Element in einer XML-Datei zuordnen. Mithilfe von XML Path Language (XPath) können Sie Inhalt in einer XML-Datei programmgesteuert einem Inhaltssteuerelement zuordnen.

Das bedeutet, Sie können eine einfache und kurze Anwendung schreiben, um Daten in einem Dokument zu bearbeiten. Weitere Informationen zu Inhaltssteuerelementen finden Sie unter Arbeiten mit Inhaltssteuerelementen.Im folgenden Codebeispiel wird ein Nur-Text-Inhaltssteuerelement mit dem Titel MyTitle erstellt:

   Dim strTitle As String 
 strTitle = "MyTitle" 
 Dim oContentControl As Word.ContentControl 
 Set oContentControl = ActiveDocument.ContentControls.Add(wdContentControlText) 
 oContentControl.Title = strTitle
  1. Legen Sie die XML-Zuordnung des Inhaltssteuerelements fest. Der Datenspeicher in einem Dokument im Word-Objektmodell befindet sich in der CustomXMLParts -Eigenschaft des Document -Objekts. Die CustomXMLParts -Eigenschaft gibt eine CustomXMLParts -Sammlung mit CustomXMLPart -Objekten zurück. Sie zeigt auf alle benutzerdefinierten XML-Parts, die in einem Dokument gespeichert sind.

Ein CustomXMLPart -Objekt stellt ein einzelnes benutzerdefiniertes XML-Part im Datenspeicher dar. Um benutzerdefinierte XML-Daten zu laden, müssen Sie zuerst ein neues benutzerdefiniertes XML-Part zum Document -Objekt mithilfe der Add-Methode der CustomXMLParts -Sammlung hinzufügen. Dies fügt ein neues, leeres benutzerdefiniertes XML-Part an das Dokument an. Da es leer ist, ist kein XML zum Zuordnen verfügbar.

Im nächsten Schritt müssen Sie dieses XML in dem neu definierten Part durch Aufrufen der Load -Methode des CustomXMLPart -Objekts, durch Verwenden eines gültigen Pfads einer XML-Datei als Parameter oder durch Aufrufen der LoadXML -Methode des CustomXMLPart -Objekts und direktes Übergeben des XML laden. Die standardmäßigen benutzerdefinierten XML-Parts in einem Word-Dokument enthalten die Standardeigenschaften des Dokuments; Sie können diese Parts nicht löschen. Sie können den Inhalt eines benutzerdefinierten XML-Parts immer anzeigen, indem Sie die schreibgeschützte XML-Eigenschaft aufrufen. Wenn Sie die XML-Eigenschaft eines CustomXMLPart -Objekts aufrufen, wird eine Zeichenfolge mit den XML-Daten in diesem Datenspeicher zurückgegeben.

Erstellen Sie eine gültige benutzerdefinierte XML-Datei, und speichern Sie auf der Festplatte. Fügen Sie ein benutzerdefiniertes XML-Part zum Dokument mit dem Inhaltssteuerelement hinzu, dem Sie benutzerdefinierte XML-Daten zuordnen möchten. Nehmen wir an, dass das Inhaltssteuerelement der folgenden benutzerdefinierten XML-Beispieldatei zugeordnet werden soll.

   <?xml version="1.0" encoding="utf-8" ?>
 <tree>
   <fruit>
     <fruitType>peach</fruitType>
     <fruitType>pear</fruitType>
     <fruitType>banana</fruitType>
   </fruit>
 </tree>

Angenommen, das Inhaltssteuerelement ist einem <fruitType-Knoten> des vorherigen benutzerdefinierten XML-Teils zugeordnet.

Der folgende Code veranschaulicht, wie eine XML-Datei einem Dokument angefügt wird, damit es zum verfügbaren Datenspeicherelement wird.

   ActiveDocument.CustomXMLParts.Add
 ActiveDocument.CustomXMLParts(ActiveDocument.CustomXMLParts.Count).Load ("c:\mySampleCustomXMLFile.xml")

Verwenden Sie zum Erstellen einer XML-Zuordnung einen XPath-Ausdruck, um den Knoten im benutzerdefinierten XML-Datenpart an zugeben, dem Sie ein Inhaltssteuerelement zuordnen möchten. Beim Festlegen einer XML-Zuordnung für ein Inhaltssteuerelement wird dann der Knoten im hinzugefügten benutzerdefinierten XML-Part mit diesem XPath-Ausdruck angegeben.

Nachdem Sie ein benutzerdefiniertes XML-Part zu Ihrem Dokument hinzugefügt haben, (und das benutzerdefinierte XML-Part XML-Daten enthält), können Sie nun einen der Knoten einem Inhaltssteuerelement zuordnen. Übergeben Sie dazu einen String-Wert, der einen gültigen XPath enthält, mithilfe der SetMapping-Methode des XMLMapping-Objekts (mithilfe der XMLMapping-Eigenschaft des ContentControl-Objekts) an ein ContentControl-Objekt.

Im folgenden finden Sie ein Beispiel dafür, wie Sie dies mit einem XPath-Objekt tun können, der auf einen Datenspeicherknoten mit dem Wert des ersten fruitType-Elements verweist.

   Dim strXPath As String 
 strXPath = "tree/fruit/fruitType[1]" 
 ActiveDocument.ContentControls(1).XMLMapping.SetMapping strXPath 

Wenn Sie die optionalen Argumente PrefixMappings und CustomXMLPart auslassen, durchsucht Word alle benutzerdefinierten XML-Komponenten der Reihe nach und ordnet das Steuerelement der ersten Komponente zu, die mithilfe des angegebenen XPath-Ausdrucks erfolgreich einen benutzerdefinierten XML-Knoten abruft.

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.