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
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. Kısmen Güvenilen Koddan Kitaplıkları Kullanma.
Ayrıca bkz.
Başvuru
Microsoft.Office.Tools.Word Ad Alanı
Diğer Kaynaklar
Nasıl Yapılır: Parola Korumalı Belgede Veriyi Önbelleğe Alma