Freigeben über


WorkbookBase.UnprotectDocument-Methode

Wird von Visual Studio Tools for Office-Laufzeit aufgerufen, sodass Sie den Kennwortschutz für die Arbeitsmappe aufheben und ermöglichen können, dass die zwischengespeicherten Daten gespeichert werden.

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

Syntax

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

Hinweise

Überschreiben Sie diese Methode in einem Projekt auf Dokumentebene für Excel, wenn Ihre Arbeitsmappe durch ein Kennwort geschützt ist und zwischengespeicherte Daten enthält, die zur Laufzeit geändert werden könnten. Verwenden Sie in der Implementierung dieser Methode die Unprotect-Methode, um den Schutz der Arbeitsmappe vorübergehend aufzuheben.

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

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

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

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

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie die UnprotectDocument-Methode überschrieben wird, um den Schutz der Arbeitsmappe vorübergehend aufzuheben, sodass Änderungen der zwischengespeicherten Daten gespeichert werden können. In dem Beispiel werden zuerst die aktuellen Werte von ProtectStructure und ProtectWindows gespeichert, sodass dieselbe Art von Schutz später in der ProtectDocument-Methode wieder hergestellt werden kann. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es in der ThisWorkbook-Klasse in einem Projekt auf Dokumentebene für Excel aus. Im Code wird davon ausgegangen, dass das Kennwort in einem Feld mit dem Namen securelyStoredPassword gespeichert wird.

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

Private protectStructureValue As Boolean
Private protectWindowsValue As Boolean

Protected Overrides Sub UnprotectDocument()
    protectStructureValue = Me.ProtectStructure
    protectWindowsValue = Me.ProtectWindows

    Me.Unprotect(securelyStoredPassword)
End Sub

Protected Overrides Sub ProtectDocument()
    Me.Protect(securelyStoredPassword, protectStructureValue, _
        protectWindowsValue)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the workbook.";

private bool protectStructureValue;
private bool protectWindowsValue;

protected override void UnprotectDocument()
{
    protectStructureValue = this.ProtectStructure;
    protectWindowsValue = this.ProtectWindows;

    this.Unprotect(securelyStoredPassword);
}

protected override void ProtectDocument()
{
    this.Protect(securelyStoredPassword, protectStructureValue,
        protectWindowsValue);
}

.NET Framework-Sicherheit

Siehe auch

Referenz

WorkbookBase Klasse

Microsoft.Office.Tools.Excel-Namespace

ProtectDocument

Weitere Ressourcen

Zwischenspeichern von Daten

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