Udostępnij za pośrednictwem


Metoda WorkbookBase.ProtectDocument —

Wywoływana przez Visual Studio 2010 Tools for Office Runtime tak, aby po zapisaniu buforowane dane można ponownie zastosować ochronę hasłem do skoroszytu.

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 ProtectDocument
protected virtual void ProtectDocument()

Uwagi

Jeśli skoroszyt jest chroniony przy użyciu hasła i zawiera dane, które można zmieniać w czasie wykonywania należy zastąpić tej metody w projekcie na poziomie dokumentu dla programu Excel.W implementacji tej metody, należy użyć Protect metodę ochrony skoroszytu.

Domyślnie zmiany buforowanych danych ze skoroszytu zabezpieczonego hasłem nie są zachowywane przy zapisywaniu skoroszytu.Aby zapisać zmiany w buforowanych danych, 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 buforowane.

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

Aby uzyskać więcej informacji, zobacz Porady: dane z pamięci podręcznej w dokumentach zabezpieczonych hasłem.

Visual Studio 2010 Tools for Office Runtime Wywołania ProtectDocument metoda nawet wtedy, gdy nie można zapisać buforowane dane ze względu na jakiś błąd, który nie ma wpływu na ochronę hasłem.Na przykład, w przypadku zastosowania ICachedType interfejsu, aby dostosować jak buforowane dane są przechowywane w dokumencie, ProtectDocument wywoływana jest metoda nawet wtedy, gdy Twój ICachedType wykonania zgłasza wyjątek, który uniemożliwia zapisanie buforowanych danych.

Przykłady

Poniższy kod ilustruje sposób zastąpić ProtectDocument metoda ponownego zastosowania ochrony, który został usunięty przez zastąpienie UnprotectDocument metody.Aby użyć tego kodu, należy 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

UnprotectDocument

Inne zasoby

Buforowanie danych

Porady: dane z pamięci podręcznej w dokumentach zabezpieczonych hasłem