Поделиться через


Workbook.UnprotectDocument Метод (2007 System)

Обновлен: Июль 2008

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

Пространство имен:  Microsoft.Office.Tools.Excel
Сборка:  Microsoft.Office.Tools.Excel.v9.0 (в Microsoft.Office.Tools.Excel.v9.0.dll)

Синтаксис

'Декларация
Protected Overridable Sub UnprotectDocument
'Применение

Me.UnprotectDocument()
protected virtual void UnprotectDocument()

Заметки

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

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

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

  • ProtectDocument. После записи книги среда выполнения Visual Studio Tools for Office вызывает данный метод. Добавьте код в данный метод, чтобы снова защитить книгу.

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

Примеры

В следующем примере кода демонстрируется перегрузка метода UnprotectDocument для временного снятия защиты с вашей книги, чтобы сохранить измененные кэшированные данные. Сначала в примере сохраняются текущие значения ProtectStructure и ProtectWindows, так что некоторые типы защиты позднее могут быть применены в методе ProtectDocument. Чтобы использовать данный код, запустите его из класса ThisWorkbook в проекте уровня документа для приложения Excel. В этом коде предполагается, что пароль хранится в поле с именем 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);
}

Разрешения

См. также

Ссылки

Workbook Класс

Workbook - члены

Microsoft.Office.Tools.Excel - пространство имен

ProtectDocument

Другие ресурсы

Кэширование данных

Практическое руководство. Кэширование данных в документе, защищенном паролем

Журнал изменений

Дата

Журнал изменений

Причина

Июль 2008

Новый раздел.

Изменение функции SP1.