اذهب الي المحتوي
أوفيسنا

خروج من برنامج الإكسل دون طلب حفظ التعديلات


الردود الموصى بها

السلام عليكم،

لدي برنامج مصمم على الإكسل ولا أود للمستخدم للبرنامج أن يقوم بحفظ التعديلات التي يقوم بإجرائها .. بعبارة أخرى أريد أن يتم الخروج من البرنامج بدون خروج رسالة طلب حفظ التعديلات.

شكراً،

رابط هذا التعليق
شارك

تفضل هذا هو الكود

Private Sub CommandButton1_Click()
    ActiveWorkbook.Save
    Application.Quit
End Sub

ومرفق مثال ... وشكراً :fff:

Save_Exit.zip

رابط هذا التعليق
شارك

عفواً أخي حسام .. أنا أعرف كيف أجعله يحفظ التعديلات ثم يخرج من البرنامج .. ولكن سؤالي هو كيف يخرج بدون حفظ التعديلات وبدون خروج رسالة تطلب حفظ التعديل أو لا.

رابط هذا التعليق
شارك

السلام عليكم ...

ضع الكود التالي في الـ ThisWorkbook :

من أجل الخروج وحفظ التعديلات دون ظهور رسالة مطالبة بذلك :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Me.Save
End Sub
من أجل الخروج مع عدم حفظ التعديلات دون ظهور رسالة مطالبة بذلك :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  With Application
    If Workbooks.Count = 1 Then
      .DisplayAlerts = False
      .Quit
    Else
      .EnableEvents = False
      Me.Close SaveChanges:=False
    End If
  End With
End Sub

الكود الثاني يسبب بعض المشاكل في حالة استخدام عدة مصنفات في آن واحد :) ولكن سأحاول البحث عن طريقة لتفادي هذه المشاكل.

بالتوفيق :fff:

رابط هذا التعليق
شارك

  • 2 weeks later...

السلام عليكم ورحمة الله وبركاته

قمت بالتجربة وكانت ممتازة

وعندي طلب

هل يمكن إيقاف رز (إلغاء الأمر) الذي يخرج في الرسالة المطالبة بحفظ التعديلات عند طلب الخروج من البرنامج

ولكم تحياتي ،،

منسق

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

الأستاذ محمد حجازي

طلبي هو أنني بدون استخدام الكود أعلاه تخرج رسالة المطالبة بحفظ التعديلات ويوجد بالرسالة ثلاثة أزرار (نعم) (لا) (إلغاء الأمر)

فأنا لا أريد منع خروج الرسالة فقط أن تخرج الرسالة وبها زران (نعم) (لا) فقط

فهل هذا ممكن

وعندي طلب آخر وهو أنني عندما أستخدم الكود أعلاه في أحد المصنفات ويكون مفتوح أكثر من مصنف ووأريد أن أغلق المصنف الموجود به الكود يخرج لي رسالة خطأ في الكود

فهل يوجد حل لهذه المشكلة

تحياتي،،

منسق

رابط هذا التعليق
شارك

طلبي هو أنني بدون استخدام الكود أعلاه تخرج رسالة المطالبة بحفظ التعديلات ويوجد بالرسالة ثلاثة أزرار (نعم) (لا) (إلغاء الأمر)

فأنا لا أريد منع خروج الرسالة فقط أن تخرج الرسالة وبها زران (نعم) (لا) فقط

فهل هذا ممكن

جرب الكود التالي :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
  If MsgBox("هل تريد حفظ التعديلات", vbYesNo, "تنبيه") = vbNo Then
    With Application
      If Workbooks.Count = 1 Then
        .DisplayAlerts = False
        .Quit
      Else
        .EnableEvents = False
        Me.Close SaveChanges:=False
      End If
    End With
 Else
   Me.Save
 End If
End Sub
وعندي طلب آخر وهو أنني عندما أستخدم الكود أعلاه في أحد المصنفات ويكون مفتوح أكثر من مصنف ووأريد أن أغلق المصنف الموجود به الكود يخرج لي رسالة خطأ في الكود فهل يوجد حل لهذه المشكلة
جرب تبديل :
Me.
بـ:
Workbooks("Book1").

حيث Book1 هو اسم المصنف .

لكن عندي استفسار ؟ ( في حالة إنطفاء الكهرباء ) هل يتم الحفظ ؟؟؟

لا ، لا يتم الحفظ .

رابط هذا التعليق
شارك

السلام عليكم،

الأستاذ محمد حجازي بخصوص الخروج من البرنامج بدون حفظ التعديلات وبدون خروج رسالة تنبية لحفظ التعديلات على الملف .. أعتقد أن الكود التالي أكثر وكفاءة من الكود الوارد في بداية الموضوع .. ولكم الرأي الأخير:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = False
End Sub

وشكراً للجميع:

رابط هذا التعليق
شارك

السلام عليكم ...

هذا الكود هو أول ما خطر على بالي ، و لكن فيه قصور حاولت تجاهله ، وهو أن المصنف يغلق دون البرنامج .....

و لك حرية الاختيار

رابط هذا التعليق
شارك

السلام عليكم أخي محمد

أنت على حق محمد .. ولكنه هو ما أريد.

شكراً لك.

رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information