Freigeben über


DocumentBase.ProtectDocument-Methode

Gibt Ihnen die Möglichkeit, den Kennwortschutz nach dem Speichern der zwischengespeicherten Daten erneut auf das Dokument anwenden zu können.

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

Syntax

'Declaration
Protected Overridable Sub ProtectDocument
protected virtual void ProtectDocument()

Hinweise

Überschreiben Sie diese Methode in einem Projekt auf Dokumentebene für Word, wenn Ihr Dokument durch ein Kennwort geschützt ist und zwischengespeicherte Daten enthält, die zur Laufzeit geändert werden könnten. Verwenden Sie für die Implementierung dieser Methode die Protect-Methode, um das Dokument zu schützen.

Standardmäßig bleiben Änderungen an zwischengespeicherten Daten in einem kennwortgeschützten Dokument nicht erhalten, wenn das Dokument gespeichert wird. Um Änderungen der zwischengespeicherten Daten zu speichern, müssen Sie die folgenden Methoden im Projekt überschreiben:

  • UnprotectDocument. Wenn das Dokument gespeichert wurde, ruft Visual Studio Tools for Office-Laufzeit diese Methode auf. Fügen Sie dieser Methode Code hinzu, der den Schutz des Dokuments vorübergehend aufhebt. So können Änderungen an den zwischengespeicherten Daten gespeichert werden.

  • ProtectDocument. Nachdem das Dokument gespeichert wurde, ruft Visual Studio Tools for Office-Laufzeit diese Methode auf. Fügen Sie dieser Methode Code hinzu, der den Schutz des Dokuments wieder aktiviert.

Weitere Informationen finden Sie unter Gewusst wie: Zwischenspeichern von Daten in einem kennwortgeschützten Dokument.

Die Visual Studio Tools for Office-Laufzeit ruft die ProtectDocument-Methode auch dann auf, wenn die zwischengespeicherten Daten aufgrund eines Fehlers, der nicht im Zusammenhang mit dem Kennwortschutz steht, nicht gespeichert werden können. Wenn Sie beispielsweise die ICachedType-Schnittstelle implementieren, um das Speichern von zwischengespeicherten Daten im Dokument anzupassen, wird die ProtectDocument-Methode auch dann aufgerufen, wenn Ihre ICachedType-Implementierung eine Ausnahme auslöst, die das Speichern der zwischengespeicherten Daten verhindert.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie die ProtectDocument-Methode überschrieben wird, um den Schutz wiederherzustellen, der durch das Überschreiben der UnprotectDocument-Methode entfernt wurde. Im Code wird davon ausgegangen, dass das Kennwort in einem Feld mit dem Namen securelyStoredPassword gespeichert wird. Wenn Sie dieses Beispiel verwenden möchten, führen Sie es von der ThisDocument-Klasse in einem Projekt auf Dokumentebene aus.

<CachedAttribute()> _
Public CachedString As String = "This string is cached in the document."

Private protectionTypeValue As Word.WdProtectionType

Protected Overrides Sub UnprotectDocument()
    If Me.ProtectionType <> Word.WdProtectionType.wdNoProtection Then
        protectionTypeValue = Me.ProtectionType
        Me.Unprotect(securelyStoredPassword)
    End If
End Sub

Protected Overrides Sub ProtectDocument()
    Me.Protect(protectionTypeValue, Password:=securelyStoredPassword)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the document.";

private Word.WdProtectionType protectionTypeValue;

protected override void UnprotectDocument()
{
    if (this.ProtectionType != Word.WdProtectionType.wdNoProtection)
    {
        protectionTypeValue = this.ProtectionType;
        this.Unprotect(ref securelyStoredPassword);
    }
}

protected override void ProtectDocument()
{
    this.Protect(protectionTypeValue, ref missing,
        ref securelyStoredPassword, ref missing, ref missing);
}

.NET Framework-Sicherheit

Siehe auch

Referenz

DocumentBase Klasse

Microsoft.Office.Tools.Word-Namespace

UnprotectDocument

Weitere Ressourcen

Zwischenspeichern von Daten

Gewusst wie: Zwischenspeichern von Daten in einem kennwortgeschützten Dokument