Sdílet prostřednictvím


DocumentBase.ProtectDocument – metoda

Poskytuje příležitost znovu použít ochranu heslem pro dokument po uložení dat uložených v mezipaměti.

Obor názvů:  Microsoft.Office.Tools.Word
Sestavení:  Microsoft.Office.Tools.Word.v4.0.Utilities (v Microsoft.Office.Tools.Word.v4.0.Utilities.dll)

Syntaxe

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

Poznámky

Přepište tuto metodu v úrovni dokumentu projekt pro aplikaci Word, pokud váš dokument je chráněn heslem a obsahuje data uložená v mezipaměti, který může změnit za běhu.Ve vaší implementaci této metody slouží Protect metody k ochraně dokumentu.

Ve výchozím nastavení nejsou změny dat uložených v mezipaměti v dokumentu chráněného heslem trvalé při uložení dokumentu.Pokud chcete uložit změny dat v mezipaměti, je nutné v projektu přepsat následující metody:

  • UnprotectDocument.Při uložení dokumentu Visual Studio Tools for Office runtime volá tuto metodu.Přidejte kód do této metody, které dočasně unprotects dokumentu.To umožňuje uložení změn dat v mezipaměti.

  • ProtectDocument.Po uložení dokumentu Visual Studio Tools for Office runtime volá tuto metodu.Přidejte kód do této metody, které znovu ochranu dokumentu.

Další informace naleznete v tématu Postupy: Ukládání dat do mezipaměti v dokumentu chráněném heslem.

Visual Studio Tools for Office runtime Volání ProtectDocument metoda, i když některé chyby, které nesouvisí s ochranou heslem nelze uložit data uložená v mezipaměti.Například, pokud se rozhodnete implementovat ICachedType rozhraní upravit data jak v mezipaměti jsou uloženy v dokumentu, ProtectDocument je volána metoda i když vaše ICachedType implementace vyvolá výjimku, která zabraňuje ukládání dat uložených v mezipaměti.

Příklady

Následující příklad kódu ukazuje, jak přepsat ProtectDocument metoda obnovení ochrany, který byl odebrán přepsáním UnprotectDocument metody.Kód předpokládá, že heslo je uloženo v poli s názvem securelyStoredPassword.Chcete-li tento příklad použít, spusťte jej ze třídy ThisDocument v projektu na úrovni 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);
}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

DocumentBase Třída

Microsoft.Office.Tools.Word – obor názvů

UnprotectDocument

Další zdroje

Ukládaní dat do mezipaměti

Postupy: Ukládání dat do mezipaměti v dokumentu chráněném heslem