Freigeben über


Entfernen von Daten aus dem Datenspeicher beim Löschen eines Inhaltssteuerelements

Durch Aufrufen der Delete-Methode des ContentControl-Objekts können Sie ein Inhaltssteuerelement löschen. Im folgenden Code wird z. B. das Inhaltssteuerelement mit dem Titel "MyTitle" gelöscht.

ActiveDocument.ContentControls.Item("MyTitle").Delete

Durch Aufrufen der Delete-Methode des CustomDataXMLNode-Objekts können Sie außerdem einen einzelnen Knoten löschen, der entfernt werden soll. Eine vollständige benutzerdefinierte XML-Komponente, die entfernt werden soll, löschen Sie durch Aufrufen der Delete-Methode des CustomXMLPart-Objekts.

Weitere Informationen zu Inhaltssteuerelementen finden Sie unter Orking mit Inhaltssteuerelementen. In diesen Beispielen werden die folgenden Objekte verwendet:

Beispiel 1

Im ersten Codebeispiel wird ein Inhaltssteuerelement erstellt und eine XML-Zuordnung für ein Inhaltssteuerelement festgelegt.

Erstellen Sie eine gültige benutzerdefinierte XML-Datei, speichern Sie diese auf dem Festplattenlaufwerk, und fügen Sie dem Dokument, das die Daten enthält, für die die Zuordnung erstellt werden soll, einen Datenspeicher hinzu.

Das Inhaltssteuerelement wird der folgenden benutzerdefinierten XML-Beispieldatei zugeordnet.

<?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.

Sub AddContentControlAndCustomXMLPart() 
 
    Dim strTitle As String 
    strTitle = "MyTitle" 
    Dim oContentControl As Word.ContentControl 
 
    Set oContentControl = ActiveDocument.ContentControls.Add(wdContentControlText) 
    oContentControl.Title = strTitle 
 
    ActiveDocument.CustomXMLParts.Add 
    ActiveDocument.CustomXMLParts(4).Load ("c:\mySampleCustomXMLFile.xml") 
 
    Dim strXPath As String 
    strXPath = "tree/fruit/fruitType" 
    oContentControl.XMLMapping.SetMapping strXPath 
     
End Sub

Beispiel 2

Im zweiten Codebeispiel wird das vollständige CustomXMLPart-Objekt beim Löschen des Inhaltssteuerelements entfernt.

Private Sub Document_ContentControlBeforeDelete( _ 
        ByVal OldContentControl As ContentControl, _ 
        ByVal InUndoRedo As Boolean) 
 
    Dim objPart As CustomXMLPart 
     
    'Always void changing the Word document surface during undo! 
    If InUndoRedo Then 
        Return 
    End If 
 
    'Also delete the part with a root element called 'tree' 
    If OldContentControl.Title = "MyTitle" Then 
        For Each objPart In ActiveDocument.CustomXMLParts 
            If objPart.DocumentElement.BaseName = "tree" Then 
                objPart.Delete 
            End If 
        Next part 
    End If 
 
End Sub

Siehe auch

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.