Metoda WorkbookBase.UnprotectDocument —
Wywoływana przez Visual Studio 2010 Tools for Office Runtime tak, że można usunąć ochronę hasłem ze skoroszytu i włączyć mają być zapisywane dane buforowane.
Przestrzeń nazw: Microsoft.Office.Tools.Excel
Zestaw: Microsoft.Office.Tools.Excel.v4.0.Utilities (w Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Składnia
'Deklaracja
Protected Overridable Sub UnprotectDocument
protected virtual void UnprotectDocument()
Uwagi
Jeśli skoroszyt jest chroniony przy użyciu hasła i zawiera dane, które można zmieniać w czasie wykonywania należy zastąpić tej metody w projekcie na poziomie dokumentu dla programu Excel.W implementacji tej metody, należy użyć Unprotect metoda, aby tymczasowo wyłączyć ochronę skoroszytu.
Domyślnie zmiany buforowanych danych ze skoroszytu zabezpieczonego hasłem nie są zachowywane przy zapisywaniu skoroszytu.Aby zapisać zmiany w buforowanych danych, należy zastąpić następujące metody w projekcie:
UnprotectDocument.Gdy skoroszyt zostanie zapisany, Visual Studio 2010 Tools for Office Runtime wywołuje tę metodę.Dodaj kod do tej metody, która tymczasowo wyłączy ochronę skoroszytu.Dzięki temu zmiany mają być zapisywane dane buforowane.
ProtectDocument.Po zapisaniu skoroszytu, Visual Studio 2010 Tools for Office Runtime wywołuje tę metodę.Dodaj kod do tej metody, które stosowane ponownie ochronie w skoroszycie.
Aby uzyskać więcej informacji, zobacz Porady: dane z pamięci podręcznej w dokumentach zabezpieczonych hasłem.
Przykłady
Poniższy kod ilustruje sposób zastąpić UnprotectDocument metoda, aby tymczasowo wyłączyć ochronę skoroszytu, tak aby można zapisać zmian danych buforowanych.Przykład najpierw zapisuje bieżący ProtectStructure i ProtectWindows wartości, tak aby można było później w przywracane ten sam rodzaj ochrony ProtectDocument metody.Aby użyć tego kodu, należy uruchomić go z ThisWorkbook klasy w projekcie poziomie dokumentu dla programu Excel.Kod zakłada, że hasło jest przechowywane w polu o nazwie 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);
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Używanie bibliotek pochodzących z częściowo zaufanego kodu.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.Office.Tools.Excel
Inne zasoby
Porady: dane z pamięci podręcznej w dokumentach zabezpieczonych hasłem