Aracılığıyla paylaş


DocumentBase.ProtectDocument Yöntem

Önbelleğe alınan veriler kaydedildikten sonra belgeye parola korumayı yeniden uygulamanız için bir fırsat ile sağlar.

Ad alanı:  Microsoft.Office.Tools.Word
Derleme:  Microsoft.Office.Tools.Word.v4.0.Utilities (Microsoft.Office.Tools.Word.v4.0.Utilities.dll içinde)

Sözdizimi

'Bildirim
Protected Overridable Sub ProtectDocument
protected virtual void ProtectDocument()

Notlar

Belgenizin bir parola ile korunuyorsa ve çalışma zamanında değişen önbelleğe alınmış veriler içeren Word için belge düzeyi projesi içinde bu yöntemi geçersiz.Bu yöntemin kendi uygulamalarınızda kullanmak Protect belgeyi korumak için bir yöntem.

Belge kaydedildiğinde varsayılan olarak, parola ile korunan bir belgede önbelleğe alınan verideki değişiklikler kalıcı olmaz.Önbelleğe alınan verilerde yapılan değişiklikleri kaydetmek için projenizde aşağıdaki yöntemleri geçersiz kılmanız gerekir:

  • UnprotectDocument.Belge kaydedildiğinde, Office için Visual Studio Araçları çalışma zamanı modülü bu yöntemi çağırır.Geçici olarak Belge korumasını kaldırır bu yöntem için kod ekleyin.Bu, önbelleğe alınan verideki değişikliklerin kaydedilmesine olanak sağlar.

  • ProtectDocument.Belge kaydedildikten sonra Office için Visual Studio Araçları çalışma zamanı modülü bu yöntemi çağırır.Kod belgeye korumayı yeniden uygular bu yöntem ekleyin.

Daha fazla bilgi için bkz. Nasıl Yapılır: Parola Korumalı Belgede Veriyi Önbelleğe Alma.

Office için Visual Studio Araçları çalışma zamanı modülü Çağrı ProtectDocument yöntem olsa da önbelleğe alınmış veri için parola koruması ilgisiz bazı hata nedeniyle kaydedilemedi.Örneğin, uygulamanız, ICachedType arabirimini nasıl önbelleğe alınan verileri özelleştirmek için belgede depolanan ProtectDocument yöntemi çağrılır olsa bile, ICachedType uygulama önbelleğe alınmış verilerin kaydedilmesini engelleyen bir istisna atar.

Örnekler

Aşağıdaki kod örneğinde nasıl geçersiz kılınacağı gösterilmektedir ProtectDocument yöntemi geçersiz kılarak kaldırıldı korumayı yeniden uygulamanız için UnprotectDocument yöntem.Kod, parolanın securelyStoredPassword adlı bir alanda depolandığını varsayar.Bu örneği kullanmak için, örneği belge düzeyi bir projedeki ThisDocument sınıftan çalıştırın.

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

.NET Framework Güvenliği

Ayrıca bkz.

Başvuru

DocumentBase Sınıf

Microsoft.Office.Tools.Word Ad Alanı

UnprotectDocument

Diğer Kaynaklar

Verileri Önbelleğe Alma

Nasıl Yapılır: Parola Korumalı Belgede Veriyi Önbelleğe Alma