Metoda DocumentBase.ProtectDocument —

Zapewnia możliwość ponownie zastosować ochronę hasłem do dokumentu po zapisaniu danych buforowanych.

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

Składnia

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

Uwagi

Zastąpić tę metoda w projekcie na poziomie dokumentu dla programu Word, jeśli dokument jest chroniony przy użyciu hasła i zawiera dane, które można zmieniać w czasie wykonywania.W implementacji tej metody, należy użyć Protect metodę ochrony dokumentu.

Domyślnie zmiany buforowane dane w dokumencie chronionych hasłem nie są zachowywane po zapisaniu dokumentu.Aby zapisać zmiany w buforowanych danych, należy zastąpić następujące metody w projekcie:

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

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

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.Kod zakłada, że hasło jest przechowywane w polu o nazwie securelyStoredPassword.Aby wykorzystać ten przykład, należy uruchomić go z klasy ThisDocument w projekcie na poziomie dokumentu.

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

DocumentBase Klasa

Przestrzeń nazw Microsoft.Office.Tools.Word

UnprotectDocument

Inne zasoby

Buforowanie danych

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