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

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

قام بنشر (معدل)

معلش يا استاذ ابراهيم العتب على الذاكرة اليك الكود

 

(Private Sub Workbook_BeforeClose(Cancel As Boolean
kh_wVisible False
(ThisWorkbook.Close Not CBool(ThisWorkbook.Saved
End Sub

()Private Sub Workbook_Open
Application.Visible = False
kh_AhlnWShln

 

 

 

End Sub

الملف يعمل فقط فى حالة تفعيل الماكرو تظهر شاشة باسوورد

اما فى حالة تعطيل الماكرو تظهر الشاشة السابقة 

المطلوب عند غلق الملف من علامة × تغلق ايضا هذه الشاشة

و لو امكن فى حالة تعطيل الماكرو ان تظهر رسالة مثلا " لا يمكنك فتح الملف " و يغلق الملف

و هذا هو الملف بعد حذف صفوف لتقليل حجمه

كنت هانسه بردو اليوزر : صلاح     الباس : gs2014

Copy of master salah 2015.rar

تم تعديل بواسطه صلاح الصغير
قام بنشر

ا / ابراهيم

الملف شغال

انا حملت نفس الملف اللى رفعته و شغال معايا

مش عارف حضرتك فى غنى انى اقولك فعل الماكرو لان الملف لا يفتح فى حالة تعطيل الماكرو و تظهر الشاشة 

اللى فى المشاركة 3

قام بنشر

أخي الكريم صلاح

ما المشكلة في الملف المرفق .. الملف يعمل بشكل جيد جداً .. لم افهم المطلوب في حقيقة الأمر ..

ويا ريت ترفع الملف مرة أخرى بدون باسورد أو خلي الباسورد حاجة سهلة 1 مثلاً لسهولة التعامل مع الملف

قام بنشر

الحمد لله على السلامة ا / ياسر

 

ممكن يكون الموضوع ليس ذو اهمية او شى من هذا القبيل و لكن الموضوع للتعلم او لاثراء الموضوع ان امكن

المطلوب 1 : فى حالة غلق الملف تفضل شاشة موجودة يجب غلقها ايضا (منها صورة فى المشاركة 3) لا اعرف ماذا تسمى ، هل يمكن غلقها مع غلق الملف من ال x

المطلوب 2 : هلى يمكن ظهور رسالة مثلا " لا يمكنك فتح الملف " تغلق اليا و ذلك فى حالة تعطيل الماكرو بدلا من هذه الشاشة

 

اليوزر : صلاح       الباس : 1

محرر الاكواد بدون باس

 

و شكرا           

Copy of master salah 2015.rar

قام بنشر

أخي الكريم صلاح

والله بحاول بقالي ربع ساعة ولكن يبدو أنني لم أوفق في الوصول للمشكلة

عموما حاول بهذا السطر .. قد يحل المشكلة

Application.Quit

بدلاً من الأمر Close الخاص بالمصنف !!

الملف معقد إلى حد كبير وفيه إخفاء لنطاق مسمى :wink2:  بس على مين تخفيه !!

عموماً حماية الملف جيدة جداً ..

إن شاء الله تجد العون من الأخوة الكرام بالمنتدى

قام بنشر

الف الف شكر على المتابعة

و الدعم الوافر و يكفينى انك قلت ان الملف محمى جيدا

ده كله من خلاصة الاساتذة الافاضل بارك الله فيهم و عليهم

معلش يا ابو ياسر

اخوك no اكواد ممكن بس تقولى السطربدلا من اى سطر

 

وشكراااااااااااااااااااااااا

قام بنشر

افتح الفورم في محرر الأكواد اللي بيظهر أثناء فتح الملف .. هتلاقي زر الأمر خروج نهائي .. شوف السطر اللي فيه Close وضع مكانه السطر اللي أشرت إليه

هتحل جزء بسيط من المشكلة وليس حل للمشكلة بشكل كامل

قام بنشر

عارف يا ا / ياسر 

على حد اجتهادى البسيط ان التريكه كلها فى الكود ده اللى انا مش فاهمه طبعا

لان كود حدث الورقة بيقول ده طبعا على مستوى نظرى ايام ما كان عندى نظر 

ان لما افتح الملف شغل الكود و لما اقفل متشغلوش

(Sub kh_wVisible(ibol As Boolean
Dim nBook As String
nBook = ThisWorkbook.Name
(With Windows(nBook
    If .Visible = Not ibol Then .Visible = ibol
End With
End Sub

قام بنشر

إليك شرح لأسطر الكود لعله يوصلنا لحل ..

Sub Auto_Open()
'يتم تنفيذ الأسطر بمجرد فتح المصنف
'---------------------------------
'إظهار نافذة المصنف الحالي
    kh_wVisible True
End Sub

Sub Auto_Close()
'يتم تنفيذ الأسطر بمجرد إغلاق المصنف
'---------------------------------
'إخفاء نافذة المصنف الحالي
    kh_wVisible False
'إغلاق المصنف الحالي مع حفظ التغيرات
    ThisWorkbook.Close Not CBool(ThisWorkbook.Saved)
End Sub

Sub kh_wVisible(ibol As Boolean)
'يقوم الكود بإظهار وإخفاء نافذة المصنف
'-------------------------------------
    Dim nBook As String
'تعيين المتغير ليساوي اسم المصنف الحالي
    nBook = ThisWorkbook.Name
'بدء التعامل مع نافذة المصنف الحالي
    With Windows(nBook)
'يقوم بالإظهار [True] قيمته [ibol] إذا كان المتغير المسمى
'يقوم بالإخفاء [False] قيمته [ibol] إذا كان المتغير المسمى
        If .Visible = Not ibol Then .Visible = ibol
    End With
End Sub


أخي الكريم صلاح .. المتغير المنطقي ibol يكون بشكل افتراضي False أي أن الحالة الافتراضية هي إخفاء المصنف .. وفي حالة تعطيل الماكرو لا يتم تنفيذ السطر الخاص بإظهار المصنف ، بالتالي لن يظهر المصنف لأنه لن يأخد القيمة المنطقية True

تقبل تحياتي

قام بنشر (معدل)

ا / ياسر

كده كويس لو جربت الملف هتلاقيه بيحفظ قبل الغلف و ده موجود فى هذا السطر

(ThisWorkbook.Close Not CBool(ThisWorkbook.Saved

فين بقى الامر اللى بيخلى الملف يغلق كاملا و لا يظهر هذا الشاشة

ايه الفرق بين الكودين

 

(Private Sub Workbook_BeforeClose(Cancel As Boolean

kh_wVisible False
(ThisWorkbook.Close Not CBool(ThisWorkbook.Saved

End Sub

 

()sub auto_close

kh_wVisible False
(ThisWorkbook.Close Not CBool(ThisWorkbook.Saved
End Sub

تم تعديل بواسطه صلاح الصغير
  • أفضل إجابة
قام بنشر

أخي صلاح

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

()sub auto_close

kh_wVisible False
(ThisWorkbook.Close Not CBool(ThisWorkbook.Saved
End Sub

يمكن تكون المشكلة إن الكود في حدث إغلاق المصنف ..وإن كنت أستبعد الأمر لكن لن يكلفك الأمر وقتاً طويلاً ..جرب هذه التجربة

  • Like 1
قام بنشر

الحمد لله أن تم المطلوب على خير

ونتعلم مما قلت درساً هاماً جداً ..

لا تستبعد أبداً أي احتمال في حل المشكلات (حتى ولو بدا لك الاحتمال تافهاً ومستبعداً ...) فلربما كان أتفه الاحتمالات هو الحل الأمثل لأصعب المشكلات ..

تقبل تحياتي

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information