Freigeben über


DocumentBase.XMLBeforeDelete-Ereignis

Wird ausgelöst, wenn ein Benutzer ein XML-Element aus einem Dokument löscht. Wenn aus dem Dokument gleichzeitig mehrere Elemente gelöscht werden (z. B. beim Ausschneiden und Einfügen von XML-Elementen), wird das Ereignis bei jedem Element ausgelöst, das gelöscht wird.

Namespace:  Microsoft.Office.Tools.Word
Assembly:  Microsoft.Office.Tools.Word.v4.0.Utilities (in Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Syntax

'Declaration
Public Event XMLBeforeDelete As DocumentEvents2_XMLBeforeDeleteEventHandler
public event DocumentEvents2_XMLBeforeDeleteEventHandler XMLBeforeDelete

Beispiele

Im folgenden Codebeispiel werden Ereignishandler für das XMLAfterInsert-Ereignis und das XMLBeforeDelete-Ereignis dargestellt. Der Code zeigt eine Meldung an, bevor ein XMLNode aus einem Dokument gelöscht wird und nachdem einem Dokument ein XMLNode hinzugefügt wurde. Testen Sie das Codebeispiel mithilfe des Aufgabenbereichs XML-Struktur, um dem Dokument XML-Elemente hinzuzufügen. Experimentieren Sie dann mit den Optionen Rückgängig: Eingabe und Wiederherstellen: Eingabe im Menü Bearbeiten. In diesem Beispiel wird davon ausgegangen, dass das aktive Dokument einem gültigen XML-Schema zugeordnet ist. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse in einem Projekt auf Dokumentebene aus.

Private Sub DocumentXMLBeforeAndAfterInsert()
    AddHandler Me.XMLAfterInsert, AddressOf ThisDocument_XMLAfterInsert
    AddHandler Me.XMLBeforeDelete, AddressOf ThisDocument_XMLBeforeDelete
End Sub 

Private Sub ThisDocument_XMLBeforeDelete(ByVal DeletedRange As Word.Range, ByVal OldXMLNode As Word.XMLNode, ByVal InUndoRedo As Boolean)
    If InUndoRedo Then
        MessageBox.Show(OldXMLNode.BaseName & " element is about to be deleted as a result" _
            & " of an undo or redo operation.")
    Else
        MessageBox.Show(OldXMLNode.BaseName & " element is about to be deleted.")
    End If
End Sub

Private Sub ThisDocument_XMLAfterInsert(ByVal NewXMLNode As Word.XMLNode, ByVal InUndoRedo As Boolean)
    If InUndoRedo Then
        MessageBox.Show(NewXMLNode.BaseName & " element was " & "inserted as a result " _
            & "of an undo or redo operation.")
    Else
        MessageBox.Show(NewXMLNode.BaseName & " element was inserted.")
    End If
End Sub
private void DocumentXMLBeforeAndAfterInsert()
{
    this.XMLAfterInsert +=
        new Word.DocumentEvents2_XMLAfterInsertEventHandler(
        ThisDocument_XMLAfterInsert);

    this.XMLBeforeDelete +=
        new Word.DocumentEvents2_XMLBeforeDeleteEventHandler(
        ThisDocument_XMLBeforeDelete);
}

void ThisDocument_XMLBeforeDelete(Word.Range DeletedRange,
    Word.XMLNode OldXMLNode, bool InUndoRedo)
{
    if (InUndoRedo)
    {
        MessageBox.Show(OldXMLNode.BaseName +
            " element is about to be deleted as a result" +
            " of an undo or redo operation.");
    }
    else
    {
        MessageBox.Show(OldXMLNode.BaseName +
            " element is about to be deleted.");
    }
}

void ThisDocument_XMLAfterInsert(Word.XMLNode NewXMLNode,
    bool InUndoRedo)
{
    if (InUndoRedo)
    {
        MessageBox.Show(NewXMLNode.BaseName + " element was " +
            "inserted as a result of an undo or redo operation.");
    }
    else
    {
        MessageBox.Show(NewXMLNode.BaseName + " element was inserted.");
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

DocumentBase Klasse

Microsoft.Office.Tools.Word-Namespace