Freigeben über


Binden von Steuerelementen an eine bestimmte Zeile im Datenspeicher beim Einfügen eines Bausteins

Ein Dokumentbaustein ist ein vordefinierter Inhalt, z. B. ein Deckblatt, eine Kopfzeile, eine Fußzeile oder eine benutzerdefinierte Klausel in einem Vertrag. Benutzerdefinierte Bausteine erleichtern Es Ihnen, schnell professionell aussehende Word-Dokumente zu erstellen.

Verwenden Sie Inhaltssteuerelemente in benutzerdefinierten Bausteinen, die XML zugeordnet wurden, die Daten enthält. Der Inhalt dieser Inhaltssteuerelemente wird dann automatisch mit der entsprechenden benutzerdefinierten XML-Komponente (falls vorhanden) verknüpft, wenn die Komponente eingefügt wird. Alternativ können Sie, wie im folgenden Beispiel dargestellt, die benutzerdefinierte XML-Komponente und die XML-Zuordnungen auch dynamisch hinzufügen, wenn die Komponente eingefügt wird. Um beispielsweise ein Deckblatt zu erstellen, können Sie ein Bildinhaltssteuerelement platzieren, das ein Bild anzeigt, das aus einem Element abgerufen wurde, in einem angefügten CustomXMLPart-Objekt . Ebenso können Sie den Projektnamen mithilfe eines Text-Inhaltssteuerelements erstellen, das Sie einem Element in einem CustomXMLPart-Objekt zuordnen, das den Projektnamen enthält.

Dies erleichtert das Aktualisieren Ihrer Daten. Um eines dieser Elemente zu aktualisieren, können Sie einige Codezeilen schreiben, um jedes Dokument zu aktualisieren, das auf dem Server gespeichert ist, der diesen Deckblatt-Baustein verwendet. Beispielsweise können Sie ein altes Logo durch ein neues ersetzen. Wenn sich der Projekttitel ändert, können Sie auch den Text im XML-Element aktualisieren, den Sie dem Textinhaltssteuerelement zugeordnet haben, das den Projektnamen enthält, und dadurch automatisch alle auf dem Server gespeicherten Dokumente aktualisieren.

In diesen Beispielen werden die folgenden Objekte verwendet:

Beispiel

Angenommen, der Benutzer hat Ihren benutzerdefinierten Dokumentbaustein in ein Dokument eingefügt, und ausgehend von dieser Aktion möchten Sie die benutzerdefinierte XML-Komponente einfügen und eine entsprechende Zuordnung erstellen.

<?xml version="1.0" encoding="utf-8" ?> 
<projects> 
  <project> 
    <title>Data-Driven Document Generation</title> 
    <manager>Frank Martinez</manager> 
    <customer>Northwind Traders</customer> 
  </project> 
</projects>

Im folgenden Beispielcode wird die vorherige XML-Datei geladen und jedes Inhaltssteuerelement dem entsprechenden XML-Knoten in dieser neuen benutzerdefinierten XML-Komponente zugeordnet, wenn der Dokumentbaustein mit dem Namen "Company Report" hinzugefügt wird.

Private Sub Document_BuildingBlockInsert(ByVal Range As Range, _ 
        ByVal Name As String, ByVal Category As String, _ 
        ByVal Type As String, ByVal Template As String) 
 
    Dim cc As ContentControl 
    Dim part As CustomXMLPart 
 
    If Name = "Company Report" Then 
        'add the custom XML 
        ActiveDocument.CustomXMLParts.Add 
        Set part = ActiveDocument.CustomXMLParts(ActiveDocument.CustomXMLParts.Count).Load("c:\myProjects.xml") 
 
        'map the controls 
        For Each cc In Range.ContentControls 
            cc.XMLMapping.SetMapping cc.XMLMapping.XPath, cc.XMLMapping.PrefixMappings, part 
        Next cc 
    End If 
 
End Sub

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.