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:
CustomXMLPart (Kernobjektmodell von Microsoft Office System)
CustomXMLParts (Kernobjektmodell von Microsoft Office System)
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.