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

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

قام بنشر

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

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

شكراً،

قام بنشر

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

قام بنشر

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

ضع الكود التالي في الـ 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