Udostępnij za pośrednictwem


Metoda WorkbookBase.UnprotectDocument —

Wywoływany przez Visual Studio 2010 Tools for Office Runtime tak, aby usunąć ochronę hasłem ze skoroszytu i włączania można zapisać dane buforowany.

Przestrzeń nazw:  Microsoft.Office.Tools.Excel
Zestaw:  Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Składnia

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

Uwagi

Zastąpić tę metoda w projekcie na poziomie dokumentu dla programu Excel, jeśli skoroszyt jest chroniony przy użyciu hasła i zawiera buforowane dane, które mogą być zmieniane w czasie wykonywania.W celu stosowania tej metody należy użyć Unprotect metoda, aby tymczasowo wyłączyć ochronę skoroszytu.

Domyślnie zmiany buforowanych danych ze skoroszytu zabezpieczonego hasłem nie są zachowywane, gdy skoroszyt jest zapisywany.Aby zapisać zmiany, aby buforowane dane, należy zastąpić następujące metody w projekcie:

  • UnprotectDocument.Gdy skoroszyt zostanie zapisany, Visual Studio 2010 Tools for Office Runtime wywołuje tę metodę.Dodaj kod do tej metody, która tymczasowo wyłączy ochronę skoroszytu.Dzięki temu zmiany mają być zapisywane dane buforowany.

  • ProtectDocument.Po zapisaniu skoroszytu, Visual Studio 2010 Tools for Office Runtime wywołuje tę metodę.Dodaj kod do tej metody, która ponownie stosuje ochrony w skoroszycie.

Aby uzyskać więcej informacji, zobacz Jak: pamięć podręczna danych w dokumencie chroniony hasłem.

Przykłady

Poniższy przykład kodu demonstruje, jak zastąpić UnprotectDocument metoda, aby tymczasowo wyłączyć ochronę arkusza, tak aby można zapisać zmian buforowane dane.Przykład najpierw zapisuje bieżący ProtectStructure i ProtectWindows wartości, tak aby można było później w przywracane tego samego rodzaju ochrony ProtectDocument metoda.Aby użyć tego kodu, uruchomić go z ThisWorkbook klasy w projekcie poziomie dokumentu dla programu Excel.Kod zakłada, że hasło jest przechowywane w polu o nazwie securelyStoredPassword.

<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);
}

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

WorkbookBase Klasa

Przestrzeń nazw Microsoft.Office.Tools.Excel

ProtectDocument

Inne zasoby

Buforowanie danych

Jak: pamięć podręczna danych w dokumencie chroniony hasłem