بسم الله الرحمن الرحيم
وجدت كثيرا من الاعضاء تطلب هذا الموضوع كثيرا وعندما وضعت مثال لشاشة دخول بكلمة مرورظهر ليا مشرف كدا كالعادة وقالي البوقين دول
كنت أفضل يكون في موضوع مستقل لأن المشاركات الفرعية تندثر مع الوقت
لما تلاقي نفسك عملت ملف مميز زي كدا .. افتح موضوع جديد واشرح بالتفصيل
(مش ترمي الملف وتجري ..) وبعد كدا في المشاركة الفرعية تضع رابط للموضوع
ليستفيد أكبر عدد من الأعضاء
إذ أن المتابعين للمشاركات قلة .. ولكن هناك كثر في انتظار الموضوعات الجديدة للتعلم والاستفادة .. متنساش كلامي يا سكر زيادة
وانا حبيت اوجه له رسالة من هنا واقول له انا بحب الشاي سكر خفيف
المهم حبيبي الغالي فعلا صدق في كلامه فا نخش في الموضوع وبلاش رغي بقي
اولا نفتح بقي ملف اكسيل جديد ونخش محرر الاكواد ونعمل يوزر فورم جديد
ونقوم بوضع عدد
واحد ليبل عشان نتكب فيها كلمة المرور او رمز الحماية او أي حاجه في أي حاجه
اثنين تكست بوكس
الاول لكتابة المستخدم داخلها كلمة المرور اللي هيكتبها عند الدخول
الثاني
مش مهم لينا كل لزمته انه كل ما المستخدم يحط رقم غلط يزود فيه رقم لحد
لما يوصل للرقم المحدد لاغلاق البرنامج وتظهر رسالة تقوله GAME OVER
بمعني انه استنفذ كل المحاولات وجاري اغلاق البرنامج
وواحد كومند زرار يعني عشان ندوس عليه للدخول
ز ما احنا شايفين
وطبعا متنسوش تحطه خلفيه حلوة كدا للفورم دا اهم حاجه عندي اه كله الا الجماليات
وموضوع الجماليات دا نعمله موضوع قريب ان شاء الله بس تكون عندكو لسعه فوتوشوب بس
وطبعا
نخلي الخلفية علي وضع الاسترتش اه يعني الصورة تبقي لازقه في الفورم كيبر
تكبر معاه يصغر تصغر معاه تمام كلنا عارفين الاسترتش كويس
زي ما احنا شايفين
نيجي بقي للاكواد
اول كود نحطه في الجينرال بقي اول حاجه
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Const WS_SYSMENU = &H80000
والكود التاني في حدث تهيئة اليوزر فورم
Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindow(vbNullString, Me.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub
toolwindowودول لزوم الفشخرة والمنظره وعشان نقصقص البتاعه دي
هي الخيارات بتاعتها متاحه في الفيجوال بيسك عادي
زي كدا
ننفض للحته دي
نخش علي
الكود اثالث
ودا هيبقي في تنشيط اليوزر فورم
Private Sub UserForm_Activate()
Application.WindowState = xlMaximized
With Me
.Height = Application.Height
.Width = Application.Width
.Left = Application.Left
.Top = Application.Top
End With
End Sub
ايه الكلام دا
دا ياسيدي بنقوله كبر لنا البرنامج ملئ الشاشة
Maximized
لما تفتح اليوزر فورم زي الشاطر خلي مقاسات اليوزر فورم زي مقاسات البرنامج
واحنا مكبرين شاشة البرنامج يبقي كدا اليوزر فورم هيبقى كبير زي البرنامج تمام كدا
الكود الرابع
Private Sub CommandButton1_Click()
If TextBox1.Text = "123" Then
Me.Hide
Else
am = am + 1
MsgBox " لقد استخدمت " & am & " محاولة من اصل 5 محاولات, vbCritical, "elmalak_elhazen_yasser@yahoo.com"
If am = 5 Then
MsgBox "لقد استنفذت جميع المحاولات"
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End If
End Sub
اكيد دماغكو لفت معايا معلش انا شرحي علي قده استحملوني
دا كود
بيقول اذا كانت التكست بوكس واحد بتساوي 123
اذن ياعم اخفيني من وشك ويظهر معاك ملف الاكسيل عادي
طيب اذا ما حصلشي بقي نعمل ايه
تعالا بقي am
دي اسم التكست بوكس اتنين بس انا غيرته الى am
ندوس علي التكست بوكس اتنين ونغيره من هنا
ومننساش نخفى التكست بوكس دا من هنا
واحد فكيك بقي يقول ليه am
اقوله ياناصح دول اول حرف من اسيل واول حرف من محمد ولادي تمام يامعلم
محدش يشتم ولا يضرب
المهم بقي ان am
بتساوي نفسها + 1 تمام
اه قبل ما انسى نخلي قيمة am دي
بصفر نكتب جواها صفر عشان لما يعد يعد من بعد الصفر
يعني كل ما المعلم يدوس غلط يزود رقم واحد وتطلع رسالة تقوله وصلت لكام محاولة
ولما يوصل للمحاولة الخامسة يقوله بالسلامة ياحبي
انا هقفل وانام
وتمام كدا زي الفل والكلام خدنا والدرس خلص
شفتوا انتو مش مصحصحين ازاي
نسينا نحط كود فتح الفورم في حدث فتح الملف
Private Sub Workbook_Open() UserForm1.Show End Sub
وبعدين انا مش هحط امثلة
زي واحد صاحبي وحبيبي بيقول انكم لازم تتعبوا شوية وتعملوها بنفسكوا بدل ما تخدو كوبي وبست وخلاص
للحديث بقية باذن الله لاستكمال اضافات تانيه
اتمنى من الله ان ينفعكم هذا الشرح
تقبلو تحياتي
ياسر العربي
ياسر العربي
قلت اضيف صورة الكود لكم عشان ميبقاش ليكو حجه
الإبتساماتإخفاء