Sdílet prostřednictvím


WorkbookBase.ProtectDocument – metoda

Volat Visual Studio Tools for Office runtime tak, aby znovu použít ochranu heslem do sešitu po uložení dat uložených v mezipaměti.

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

Syntaxe

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

Poznámky

Přepište tuto metodu v projektu na úrovni dokumentu aplikace Excel v případě, že sešit je chráněn heslem a obsahuje data uložená v mezipaměti, který může změnit za běhu.Ve vaší implementaci tuto metodu použít Protect metody pro ochranu sešitu.

Ve výchozím nastavení nejsou trvalé změny v mezipaměti dat v sešitu zamknutém heslem při uložení sešitu.Chcete-li změny uložit data uložená v mezipaměti, musíte přepsat následujících metod v projektu:

  • UnprotectDocument.Při uložení sešitu Visual Studio Tools for Office runtime volá tuto metodu.Přidejte kód do této metody, které dočasně unprotects sešitu.To umožňuje data uložená v mezipaměti, chcete-li uložit změny.

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

Další informace naleznete v tématu Jak: Data v mezipaměti v dokumentu chráněného heslem.

Visual Studio Tools for Office runtime Volání ProtectDocument metoda, i když data uložená v mezipaměti nelze uložit z důvodu některé chyby, která nemá vliv na ochranu heslem.Například, pokud se rozhodnete implementovat ICachedType rozhraní upravit data jak v mezipaměti uložena v dokumentu, ProtectDocument je volána metoda to i v případě, že 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 znovu použít ochranu, která byla odebrána přepsáním UnprotectDocument metoda.Chcete-li použít tento kód, spusťte jej z ThisWorkbook třídy v projektu úroveň dokument pro aplikaci Excel.Kód předpokládá, že heslo je uloženo v poli s názvem 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);
}

Zabezpečení rozhraní .NET Framework

Viz také

Referenční dokumentace

WorkbookBase Třída

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

UnprotectDocument

Další zdroje

Ukládání dat

Jak: Data v mezipaměti v dokumentu chráněného heslem