DocumentBase.ProtectDocument (Método)
Brinda la oportunidad de aplicar de nuevo la protección con contraseña al documento una vez guardados los datos almacenados en la memoria caché.
Espacio de nombres: Microsoft.Office.Tools.Word
Ensamblado: Microsoft.Office.Tools.Word.v4.0.Utilities (en Microsoft.Office.Tools.Word.v4.0.Utilities.dll)
Sintaxis
'Declaración
Protected Overridable Sub ProtectDocument
protected virtual void ProtectDocument()
Comentarios
Invalide este método en un proyecto en el nivel del documento para Word si el documento 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 Protect para proteger el documento.
De forma predeterminada, los cambios efectuados en los datos almacenados en memoria caché en un documento protegido mediante contraseña no se conservan cuando se guarda el documento.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 documento se ha guardado, Runtime de Microsoft Visual Studio Tools para Office llama a este método.Agregue código a este método que desproteja el documento temporalmente.Esto permite guardar los cambios efectuados en los datos almacenados en la memoria caché.
ProtectDocument.Una vez que el documento se ha guardado, Runtime 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 documento.
Para obtener más información, vea Cómo: Almacenar datos en caché en un documento protegido por contraseña.
Runtime de Microsoft Visual Studio Tools para Office llama al método ProtectDocument aun cuando los datos almacenados en memoria caché no pudieron guardarse debido a algún error no relacionado con la protección con contraseña.Por ejemplo, si implementa la interfaz ICachedType para personalizar cómo se guardan en la memoria caché los datos del documento, se llama al método ProtectDocument incluso si la implementación ICachedType produce una excepción que evita que se guarden los datos almacenados en la memoria caché.
Ejemplos
En el ejemplo de código siguiente se muestra cómo invalidar el método ProtectDocument para volver a aplicar la protección que se quitó invalidando el método UnprotectDocument.El código da por supuesto que la contraseña está almacenada en un campo denominado securelyStoredPassword.Para usar este ejemplo, ejecútelo desde la clase ThisDocument en un proyecto de nivel de documento.
<CachedAttribute()> _
Public CachedString As String = "This string is cached in the document."
Private protectionTypeValue As Word.WdProtectionType
Protected Overrides Sub UnprotectDocument()
If Me.ProtectionType <> Word.WdProtectionType.wdNoProtection Then
protectionTypeValue = Me.ProtectionType
Me.Unprotect(securelyStoredPassword)
End If
End Sub
Protected Overrides Sub ProtectDocument()
Me.Protect(protectionTypeValue, password:=securelyStoredPassword)
End Sub
[CachedAttribute]
public string CachedString = "This string is cached in the document.";
private Word.WdProtectionType protectionTypeValue;
protected override void UnprotectDocument()
{
if (this.ProtectionType != Word.WdProtectionType.wdNoProtection)
{
protectionTypeValue = this.ProtectionType;
this.Unprotect(ref securelyStoredPassword);
}
}
protected override void ProtectDocument()
{
this.Protect(protectionTypeValue, ref missing,
ref securelyStoredPassword, ref missing, ref missing);
}
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.Word (Espacio de nombres)
Otros recursos
Cómo: Almacenar datos en caché en un documento protegido por contraseña