Applies ToExcel 2007

الملخص

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

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

ملاحظةتوفر Microsoft أمثلة برمجة للتوضيح فقط، دون ضمان سواء تم التعبير عنه أو تضمينه. وهذا يشمل، على سبيل المثال لا الحصر، الضمانات الضمنية للقابلية التجارية أو اللياقة البدنية لغرض معين. تفترض هذه المقالة أنك على دراية بلغة البرمجة التي يتم توضيحها ومع الأدوات المستخدمة لإنشاء إجراءات وتصحيح الأخطاء. يمكن لمهندسي دعم Microsoft المساعدة في شرح وظيفة إجراء معين. ومع ذلك، لن يعدلوا هذه الأمثلة لتوفير وظائف إضافية أو إجراءات إنشاء لتلبية متطلباتك المحددة. للتحضير لتنفيذ أي من الأمثلة أدناه، قم بتنفيذ الخطوات التالية أولا:

  1. ابدأ تشغيل Excel وافتح مصنفا جديدا.

  2. اضغط على ALT+F11 لبدء محرر Visual Basic.

  3. في القائمة إدراج، انقر فوق الوحدة النمطية.

  4. اكتب نموذج التعليمات البرمجية للماكرو في ورقة الوحدة النمطية.

  5. اضغط على ALT+F11 للعودة إلى Excel.

  6. في Microsoft Office Excel 2003 والإصدارات السابقة من Excel، اختر ماكرو من القائمة أدوات، ثم انقر فوق وحدات الماكرو.في Microsoft Office Excel 2007، انقر فوق وحدات الماكرو في مجموعة التعليمات البرمجية ضمن علامة التبويب المطورإذا لم تكن علامة التبويب المطور متوفرة، ففكر في القيام بذلك:     a. انقر فوق زر Microsoft Office ، ثم انقر فوق خيارات Excel.b. في الفئة "شائع"، ضمن خيارات "الأعلى" للعمل مع Excel، انقر لتحديد "إظهار"         علامة تبويب المطور في خانة الاختيار الشريط، ثم انقر فوق موافق.

  7. حدد الماكرو الذي تريده، ثم انقر فوق تشغيل.

ترجع الخاصية Saved القيمة False إذا تم إجراء تغييرات على مصنف منذ آخر حفظ له.يمكنك استخدام اسم السجل الفرعي المحجوز Auto_Close لتحديد ماكرو يجب تشغيله كلما تم إغلاق مصنف. عند القيام بذلك، يمكنك التحكم في كيفية معالجة المستند عند إغلاق المستخدم للمستندات في Excel.  

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

لفرض إغلاق مصنف دون حفظ أي تغييرات، اكتب التعليمات البرمجية التالية في وحدة Visual Basic لهذا المصنف:  

    Auto_Close الفرعي()

        ThisWorkbook.Saved = True

    End Sub

عند تعيين الخاصية محفوظة إلى True، يستجيب Excel كما لو أن المصنف قد تم حفظه بالفعل ولم تحدث أي تغييرات منذ الحفظ الأخير.يمكن استخدام خاصية DisplayAlerts للبرنامج لنفس الغرض. على سبيل المثال، يقوم الماكرو التالي بإيقاف تشغيل DisplayAlerts، وإغلاق المصنف النشط دون حفظ التغييرات، ثم تشغيل DisplayAlerts مرة أخرى.  

    Sub CloseBook()

        Application.DisplayAlerts = False

        ActiveWorkbook.Close

        Application.DisplayAlerts = True

    End Sub

يمكنك أيضا استخدام الوسيطة SaveChanges للأسلوب Close.يقوم الماكرو التالي بإغلاق المصنف دون حفظ التغييرات:  

    Sub CloseBook2()

        ActiveWorkbook.Close savechanges:=False

    End Sub

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

لإجبار مصنف على حفظ التغييرات، اكتب التعليمات البرمجية التالية في وحدة Visual Basic لهذا المصنف:  

    Auto_Close الفرعي()

        إذا كان ThisWorkbook.Saved = False ثم

            ThisWorkbook.Save End If

    End Sub

يتحقق هذا المستند الفرعي لمعرفة ما إذا تم تعيين الخاصية File Saved إلى False. إذا كان الأمر كذلك، فقد تم تغيير المصنف منذ الحفظ الأخير، ويتم حفظ هذه التغييرات.

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.