WorkbookBase.UnprotectDocument Метод

Определение

Вызывается Набор средств Visual Studio для Office (cреда выполнения), чтобы можно было удалить защиту паролем из книги и разрешить сохранение кэшированных данных.

protected virtual void UnprotectDocument ();

Реализации

Примеры

В следующем примере кода показано, как переопределить UnprotectDocument метод, чтобы временно снять защиту книги, чтобы можно было сохранить изменения в кэшированных данных. В примере сначала сохраняются текущие ProtectStructure значения и ProtectWindows , чтобы в методе можно было повторно применить один и тот же тип защиты ProtectDocument . Чтобы использовать этот код, запустите его из ThisWorkbook класса в проекте уровня документа для Excel. В коде предполагается, что пароль хранится в поле с именем securelyStoredPassword .

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

Комментарии

Переопределите этот метод в проекте уровня документа для Excel, если книга защищена с помощью пароля и содержит кэшированные данные, которые могут быть изменены во время выполнения. В реализации этого метода используйте Unprotect метод, чтобы временно снять защиту книги.

По умолчанию изменения кэшированных данных в защищенной паролем книге не сохраняются при сохранении книги. Чтобы сохранить изменения в кэшированных данных, необходимо переопределить следующие методы в проекте:

  • UnprotectDocument. При сохранении книги Набор средств Visual Studio для Office (cреда выполнения) вызывается этот метод. Добавьте в этот метод код, который временно снимает защиту книги. Это позволяет сохранять изменения в кэшированных данных.

  • ProtectDocument. После сохранения книги Набор средств Visual Studio для Office (cреда выполнения) вызывается этот метод. Добавьте в этот метод код, который повторно применяет защиту к книге.

Дополнительные сведения см. в разделе как кэшировать данные в защищенном паролем документе.

Применяется к