كيفية منع موجه "حفظ التغييرات" عند إغلاق مصنف في Excel


الملخص


في Microsoft Excel، يمكنك إنشاء Microsoft Visual Basic for Applications (VBA) الماكرو الذي يمنع موجه "حفظ التغييرات" عند إغلاق مصنف. يمكنك القيام بذلك أما بتحديد حالة خاصية محفوظ المصنف أو بمنع كافة التنبيهات الخاصة بالمصنف.

مزيد من المعلومات


توفر Microsoft أمثلة برمجية للتوضيح فقط، دون أي ضمان صريح أو ضمني. هذا يتضمن، على سبيل المثال لا الحصر، الضمانات الضمنية الخاصة بالتسويق أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي يتم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يساعد مهندسو الدعم لدى Microsoft شرح وظيفة إجراء محدد. ومع ذلك، لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تستوفي متطلبات محددة. باستخدام أي من الأمثلة التالية، اتبع الخطوات التالية:
  1. بدء تشغيل Excel وفتح مصنف جديد.
  2. اضغط ALT + F11 لبدء تشغيل محرر Visual Basic.
  3. من القائمة Insert (إدراج)، انقر فوق Module (وحدة نمطية).
  4. اكتب التعليمات البرمجية للماكرو عينة في ورقة وحدة نمطية.
  5. اضغط ALT + F11 للعودة إلى Excel.
  6. في Microsoft Office Excel 2003 وفي الإصدارات السابقة من Excel، أشر إلى ماكرو في قائمة " أدوات " ومن ثم انقر فوق وحدات الماكرو. في Microsoft Office Excel 2007، انقر فوق وحدات ماكرو في مجموعة التعليمات البرمجية ضمن علامة التبويب المطورملاحظة حالة عدم توفر علامة التبويب المطور ، النظر في الخطوات التالية:
    1. انقر فوق زر Microsoft Office، ومن ثم انقر فوق خيارات Excel.
    2. في الفئة شائع ، وضمن أفضل الخيارات لاستخدام Excel، انقر لتحديد خانة الاختيار إظهار علامة تبويب المطور في الشريط ، ومن ثم انقر فوق موافق.
  7. حدد الماكرو الذي تريده، وانقر فوق تشغيل.
الخاصية محفوظ بإرجاع قيمة خطأ إذا تم إجراء تغييرات على مصنف منذ آخر عملية حفظ. يمكنك استخدام اسم محجوز روتين فرعي "Auto_Close" لتحديد ماكرو الذي يجب تشغيله عند إغلاق مصنف. عند القيام بذلك، يمكنك التحكم في كيفية معالجة المستند عند انتهاء المستخدم وأصدرت تعليمات Excel لإغلاق المستند.

مثال 1: إغلاق المصنف دون حفظ التغييرات

لفرض مصنف على الإغلاق دون حفظ أية تغييرات، اكتب التعليمة البرمجية التالية في الوحدة نمطية ل Visual Basic من هذا المصنف:
Sub Auto_Close()    ThisWorkbook.Saved = TrueEnd Sub
نظراً لتعيين خاصية محفوظ إلى True، يستجيب Excel كما لو تم حفظ المصنف الفعل ولم يطرأ منذ أن حفظ آخر. يمكن استخدام الخاصية DisplayAlerts البرنامج لنفس الغرض. على سبيل المثال، الماكرو التالي إيقاف تشغيل DisplayAlerts وإغلاق المصنف دون حفظ التغييرات، وثم تشغيل DisplayAlerts مرة أخرى.
Sub CloseBook()    Application.DisplayAlerts = False    ActiveWorkbook.Close    Application.DisplayAlerts = TrueEnd Sub
يمكنك أيضا استخدام الوسيطة SaveChanges للأسلوب Close . الماكرو التالي إغلاق المصنف دون حفظ التغييرات:
Sub CloseBook2()    ActiveWorkbook.Close savechanges:=FalseEnd Sub

مثال 2: إغلاق المصنف وحفظ التغييرات

لفرض مصنف لحفظ التغييرات، اكتب التعليمة البرمجية التالية في الوحدة نمطية ل Visual Basic من هذا المصنف:
Sub Auto_Close()    If ThisWorkbook.Saved = False Then        ThisWorkbook.Save    End IfEnd Sub
هذا subprocedure بالتحقق مما إذا تم تعيين الخاصية محفوظ للملف إلى False. إذا كان الأمر كذلك، تم تغيير المصنف منذ الحفظ الأخير، ويتم حفظ هذه التغييرات.