مشاركة عبر


كيفية القيام بما يلي: تخزين البيانات مؤقـتًا في مستند محمي بكلمة مرور

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

إذا قمت بإضافة معلومات إلى ذاكرة تخزين البيانات المؤقت في مستند محمي بكلمة مرور ،لا يتم حفظ التغييرات في البيانات المخزنة مؤقتاً. يمكنك حفظ التغييرات في البيانات المخزنة مؤقتًا بواسطة تجاوز أسلوبين في مشروعك.

التخزين المؤقت في مستندات Word

لتخزين البيانات مؤقتاً في مستند Word محمي بكلمة مرور

  1. في فئة ThisDocument, ضع علامة على الحقل أو الخاصية العامين لتكون مؤقتة. لمزيد من المعلومات، راجع التخزين المؤقت للبيانات.

  2. تجاوز أسلوب DocumentBase.UnprotectDocument في فئة ThisDocument و أزل الحماية من المستند.

    عندما يتم حفظ المستند ،يقوم Visual Studio Tools لوقت تشغيل Office بإستدعاء هذا الأسلوب ليعطيك فرصة لإلغاء حماية المستند. وهذا يمكّن التغييرات لتكون محفوظة في البيانات المخزنة مؤقتاً.

  3. تجاوز أسلوب DocumentBase.ProtectDocument في فئة ThisDocument وقم بتطبيق الحماية إلى المستند.

    بعد أن تم حفظ المستند ،يقوم Visual Studio Tools لوقت تشغيل Office بإستدعاء هذا الأسلوب لإعطاءك فرصة لإعادة تطبيق الحماية إلى المستند.

المثال

يوضح مثال التعليمات البرمجية التالي كيفية تخزين البيانات في مستند Word محمي بكلمة مرور. قبل أن تزيل التعليمات البرمجية الحماية في أسلوب DocumentBase.UnprotectDocument ، تقوم بحفظ القيمة الحالية لـ ProtectionType ,بحيث يمكن إعادة تطبيق نفس النوع من الحماية في الأسلوب DocumentBase.ProtectDocument .

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

التحويل البرمجي للتعليمات البرمجية

قم بإضافة هذه التعليمات البرمجية إلى فئة ThisDocument في مشروعك. تفترض هذه التعليمة البرمجية أن كلمة المرور قد تم تخزينها في حقل يسمى securelyStoredPassword.

التخزين المؤقت في مصنفات Excel

في مشاريع Excel ,هذا الإجراء ضرورى فقط عند حماية المصنف بأكمله باستخدام كلمة مرور باستخدام الأسلوب Workbook.Protect . هذا الإجراء غير ضروري في حالة حماية ورقة عمل معينة فقط بكلمة مرور باستخدام أسلوب Worksheet.Protect .

لتخزين البيانات مؤقتاً في مصنف Excel محمي بكلمة مرور

  1. في فئة ThisWorkbook أو أحد فئات Sheet n, ضع علامة على حقل عمومي أو خاصية لتكون مخزنة مؤقتاً. لمزيد من المعلومات، راجع التخزين المؤقت للبيانات.

  2. تجاوز أسلوب WorkbookBase.UnprotectDocument في فئة ThisWorkbook وقم بإزالة الحماية من المصنف.

    عندما يتم حفظ المصنف ،قم بإستدعاء هذا الأسلوب Visual Studio Tools لوقت تشغيل Office ليعطيك فرصة لإلغاء حماية المصنف. وهذا يمكّن التغييرات لتكون محفوظة في البيانات المخزنة مؤقتاً.

  3. تجاوز أسلوب WorkbookBase.ProtectDocument في فئة ThisWorkbook وقم بتطبيق الحماية إلى المستند.

    بعد أن تم حفظ المستند ،يقوم Visual Studio Tools لوقت تشغيل Office بإستدعاء هذا الأسلوب لإعطاءك فرصة لإعادة تطبيق الحماية إلى المصنف.

المثال

يوضح مثال التعليمات البرمجية التالي كيفية تخزين البيانات في مصنف Excel محمي بكلمة مرور. قبل أن تزيل التعليمات البرمجية الحماية في أسلوب WorkbookBase.UnprotectDocument ، تقوم بحفظ القيمة الحالية لـ ProtectStructure و ProtectWindows ,بحيث يمكن إعادة تطبيق نفس النوع من الحماية في الأسلوب WorkbookBase.ProtectDocument .

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

التحويل البرمجي للتعليمات البرمجية

قم بإضافة هذه التعليمات البرمجية إلى فئة ThisWorkbook في مشروعك. تفترض هذه التعليمة البرمجية أن كلمة المرور قد تم تخزينها في حقل يسمى securelyStoredPassword.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تخزين البيانات مؤقتًا للاستخدام دون اتصال أو على خادم

كيفية القيام بما يلي: تخزين مصدر بيانات مؤقـتًا بطريقة برمجية في مستند Office

المبادئ

التخزين المؤقت للبيانات