Udostępnij za pośrednictwem


Jak: pamięć podręczna danych w dokumencie chroniony hasłem

Po dodaniu danych do pamięci podręcznej danych w dokumencie lub skoroszycie, który jest chroniony hasłem, zmiany w pamięci podręcznej danych nie są zapisywane automatycznie.Zmiany można zapisać do buforowanych danych przez zastąpienie dwóch metod w projekcie.

Dotyczy: Informacje przedstawione w tym temacie dotyczą projektów na poziomie dokumentu dla następujących aplikacji: Excel 2013 i Excel 2010; Word 2013 i Word 2010. Aby uzyskać więcej informacji, zobacz Funkcje dostępne w aplikacji pakietu Office i typ projektu.

Buforowanie w dokumentach programu Word

Pamięć podręczna danych w dokumencie programu Word, który jest chroniony hasłem

  1. W ThisDocument klasy, oznaczyć publiczne pola lub właściwości, które mają być buforowane.Aby uzyskać więcej informacji, zobacz Buforowanie danych.

  2. Zastąpić DocumentBase.UnprotectDocument metoda w ThisDocument klasy i usunąć ochronę dokumentu.

    Gdy dokument zostanie zapisany, Visual Studio 2010 Tools for Office Runtime wywołania tej metody daje możliwość usunięcia ochrony dokumentu.Dzięki temu zmiany mają być zapisywane dane buforowany.

  3. Zastąpić DocumentBase.ProtectDocument metoda w ThisDocument klasy i ponownie zastosować ochronę do dokumentu.

    Po zapisaniu dokumentu, Visual Studio 2010 Tools for Office Runtime wywołania tej metody daje możliwość ponownego zastosowania ochrony w dokumencie.

Cc668203.collapse_all(pl-pl,VS.110).gifPrzykład

Poniższy przykład kodu demonstruje sposób buforowania danych w dokumencie programu Word, który jest chroniony hasłem.Zanim kod usuwa ochrony w DocumentBase.UnprotectDocument metoda, zapisuje bieżący ProtectionType , wartości tak, aby móc ponownie zastosować ten sam rodzaj ochrony w DocumentBase.ProtectDocument metoda.

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

Cc668203.collapse_all(pl-pl,VS.110).gifKompilowanie kodu

Dodaj ten kod do ThisDocument klasy do projektu.Kod ten zakłada, że hasło jest przechowywane w polu o nazwie securelyStoredPassword.

Buforowanie w skoroszytach programu Excel

W projektach programu Excel, ta procedura jest niezbędna tylko wtedy, gdy ochrona hasłem całego skoroszytu za pomocą Workbook.Protect metoda.Ta procedura nie jest konieczne, jeśli jest chroniony przy użyciu konkretnego arkusza przy użyciu hasła Worksheet.Protect metoda.

Pamięć podręczna danych w skoroszycie programu Excel, który jest chroniony hasłem

  1. W ThisWorkbook klasy lub jednej z Sheetn klas, oznaczyć publiczne pola lub właściwości, które mają być buforowane.Aby uzyskać więcej informacji, zobacz Buforowanie danych.

  2. Zastąpić WorkbookBase.UnprotectDocument metoda w ThisWorkbook klasy i usunięcie ochrony skoroszytu.

    Gdy skoroszyt jest zapisywany, Visual Studio 2010 Tools for Office Runtime wywołania tej metody daje możliwość nie chroń skoroszytu.Dzięki temu zmiany mają być zapisywane dane buforowany.

  3. Zastąpić WorkbookBase.ProtectDocument metoda w ThisWorkbook klasy i ponownie zastosować ochronę do dokumentu.

    Po zapisaniu skoroszytu, Visual Studio 2010 Tools for Office Runtime wywołania tej metody daje możliwość ponownego zastosowania ochrony w skoroszycie.

Cc668203.collapse_all(pl-pl,VS.110).gifPrzykład

Poniższy przykład kodu demonstruje sposób buforowania danych w skoroszycie programu Excel, który jest chroniony hasłem.Zanim kod usuwa ochrony w WorkbookBase.UnprotectDocument metoda, zapisuje bieżący ProtectStructure i ProtectWindows wartości, tak aby móc ponownie zastosować ten sam rodzaj ochrony w WorkbookBase.ProtectDocument metoda.

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

Cc668203.collapse_all(pl-pl,VS.110).gifKompilowanie kodu

Dodaj ten kod do ThisWorkbook klasy do projektu.Kod ten zakłada, że hasło jest przechowywane w polu o nazwie securelyStoredPassword.

Zobacz też

Zadania

Jak: pamięć podręczna danych do użycia w trybie Offline lub na serwerze

Jak: programowo pamięci podręcznej źródła danych w dokumencie pakietu Office

Koncepcje

Buforowanie danych