WorkbookBase.UnprotectDocument (Método)
Lo llama Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office para que pueda quitar la protección con contraseña del libro y guardar los datos almacenados en la memoria caché.
Espacio de nombres: Microsoft.Office.Tools.Excel
Ensamblado: Microsoft.Office.Tools.Excel.v4.0.Utilities (en Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxis
'Declaración
Protected Overridable Sub UnprotectDocument
protected virtual void UnprotectDocument()
Comentarios
Invalide este método en un proyecto en el nivel del documento para Excel si el libro se protege utilizando una contraseña y contiene datos almacenados en memoria caché que se podrían cambiar en tiempo de ejecución. En la implementación de este método, utilice el método Unprotect para desproteger temporalmente el libro.
De forma predeterminada, los cambios efectuados en los datos almacenados en la memoria caché de un libro protegido mediante contraseña no se conservan cuando se guarda el libro. Para guardar los cambios efectuados en los datos almacenados en la memoria caché, debe invalidar los métodos siguientes en el proyecto:
UnprotectDocument. Una vez que el libro se ha guardado, Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office llama a este método. Agregue código a este método que desproteja el libro temporalmente. Esto permite guardar los cambios efectuados en los datos almacenados en la memoria caché.
ProtectDocument. Una vez que el libro se ha guardado, Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office llama a este método. Agregue código a este método que vuelva a aplicar la protección al libro.
Para obtener más información, vea Cómo: Almacenar datos en caché en un documento protegido por contraseña.
Ejemplos
El ejemplo de código siguiente muestra cómo invalidar el método UnprotectDocument para desproteger temporalmente el libro para que cambia a los datos almacenados en memoria caché puede estar guardado. En el ejemplo se guardan primero los valores ProtectStructure y ProtectWindows, de manera que se pueda aplicar el mismo tipo de protección más adelante en el método ProtectDocument. Para utilizar este código, ejecútelo desde la clase ThisWorkbook en un proyecto en el nivel del documento para Excel. El código da por supuesto que la contraseña está almacenada en un campo denominado 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);
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
Microsoft.Office.Tools.Excel (Espacio de nombres)
Otros recursos
Cómo: Almacenar datos en caché en un documento protegido por contraseña