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

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

قام بنشر

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

الاساتذة الافاضل 

ظهر لي مشكلة غريبة بعد اما انتهيت من البرنامج جعلته يفتح تلقائي من loginformبيوزر نيم وباسورد وكل ده تمام 

في بوتون عاملها جوه تظهرلي شيت الاكسيل بيظهر عادي بس بيمنعني اكتب اي حاجة بالكيبورد سواء في الاكواد او الشيتات وبعد اما اغلق بلاقي الي في الصورة دي 

username:admin

passwored:admin

10.jpg.ee62fcd95678d79e6f6da647ebcdc1de.jpg

هل يوجد حل ام لا وشكرا

dwork.xlsm

  • أفضل إجابة
قام بنشر

السلام عليكم

المشكله  هى Do-Loop فى كود الفورم mainform

Private Sub UserForm_Activate()
	Me.BackColor = RGB(40, 116, 166)
	Me.Frame1.BackColor = RGB(40, 116, 166)
	Me.Label1.Caption = Date
	Me.Label2.Caption = Format(Date, "ddd")
	Do
	Me.Label3.Caption = Time
	DoEvents
	Loop
End Sub

ودي بتخللى الفورم شغال الخلفيه 

طيب ايه الحل

1- ها نعرف المتغير فى اول الفورم خالص وليكن Dim StopClock as Boolean 

2- ها نتأكد انه False فى بدايه تشغيل ال form من من حدث 

Private Sub UserForm_Initialize()
    StopClock = False
End Sub

3- هانضيف شرط فى دائرة ال Do انها ما تعملش حاجه لو StopClock= true

Private Sub UserForm_Activate()
    Me.BackColor = RGB(40, 116, 166)
    Me.Frame1.BackColor = RGB(40, 116, 166)
    Me.Label1.Caption = Date
    Me.Label2.Caption = Format(Date, "ddd")
Do
    If StopClock = True Then Exit Sub
    Me.Label3.Caption = Time
    DoEvents
Loop
End Sub

هانتأكد ان قيمة المتغير True قبل ما نعمل unload للفورم 

Private Sub CommandButton6_Click()
    Application.Visible = True
    StopClock = True
    Unload Me

End Sub

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

جرب الملف المرفق

dwork.xlsm

 

  • Like 1
  • Thanks 1
قام بنشر

بارك الله فيك  تم الحل ولكنه يفتح شيت فارغ ولا يغلق الا إذا فتحت شيت جديد وإغلاقه يغلق

 

 

قام بنشر

طيب 

جرب تجاهل الحل السابق بالكامل  وجرب تضيف السطر ده فقط فى دايرة Do Loop على الملف الاصلى دون  اي اكود أخرى

If Application.Visible = True Then Exit Sub
 

Private Sub UserForm_Activate()
Me.BackColor = RGB(40, 116, 166)
Me.Frame1.BackColor = RGB(40, 116, 166)
Me.Label1.Caption = Date
Me.Label2.Caption = Format(Date, "ddd")
Do
If Application.Visible = True Then Exit Sub
Me.Label3.Caption = Time
DoEvents
Loop
End Sub

 

  • Like 2
قام بنشر

نفس المشكلة يا اخي للتوضيح 

حين الضغط علي زر البرمجة يفتح كما في الصورة 

11.jpg.c847dfd608e085c05aa5a545b85b17b1.jpg

التعديل يعمل بصورة طبيعة وعند الحفظ يحفظ تبيعي ويظل الشيتين المسميان ب excel مفتوحان لا يغلقان الا اذا  فتحت شيت جديد واغلقته 

 

 

قام بنشر

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

المرفق التالي تم معالجه ما يتعلق بأوامر الاغلاق وجربته عندي يعمل جيدا

dwork.xlsm

قام بنشر

المشكلة لا تزال موجودة ايضا  ممكن حضرتك تشرحلي الاكواد الي حضرتك عدلتها وانا اعدلها بنفسي وممكن تكون المشكلة عندي من الجهاز نفسه ساقوم بتجربة الملف علي جهاز اخر

قام بنشر

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

 

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then

    Cancel = True
    MsgBox "ãä ÝÖáß Þã ÈÇÛáÇÞ ÇáäãæÐÌ ãä ÒÑ ÇáÇÛáÇÞ ÇáãÎÕÕ áÐáß", vbOKOnly

End If
End Sub

غير كده كان فيه مشكله في امر الاغلاق للنموذج الرئيسي 

كلمة else كانت ناقصه حرف

image.png.8892a4682ec5aaca5108d1ee889423c4.png

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

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

Important Information