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реда выполнения) вызывается этот метод. Добавьте в этот метод код, который повторно применяет защиту к книге.
Дополнительные сведения см. в разделе как кэшировать данные в защищенном паролем документе.