‏إظهار الرسائل ذات التسميات برامج بالاكسيل. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات برامج بالاكسيل. إظهار كافة الرسائل

برنامج محاسبة بسيط تحت التطويراكسيل

بسم الله الرحمن الرحيم


اقدم لكم برنامج محاسبة بسيط 

قمت بانشائه منذ فترة ولم اكمله

فهو الان تحت الاختبار والتعديل والحذف والاضافة

ولكن لا بأس بوضعه في صورته الان كي يخدم بعض الفئات التي تعتمد على عمل المخازن اكثر

كلمة المرور للمستخدم   Yasser 
هي  1234

اذا وجدت اي مشكلة او اي اضافة  تحتاجوا لها    يرجى ترك ملحوظة بذلك  لمعالجة المشكلة حيث انه تحت التطوير ولم يكتمل بعد

نوافذ البرنامج

شاشة الدخول


الشاشة الرئيسية

 صفحة الفواتير

 صفحة اضافة عملاء وموردين واصناف

سندات صرف وقبض

اعدادات البرنامج

تقارير الشركة والموازنة



تحياتي

اعداد / ياسر العربي


فك حماية ملف الاكسيل من الخارج

فك حماية ملف الاكسيل من الخارج

بسم الله الرحمن الرحيم
 الحمد لله الذي أخرجنا بالإسلام من ظلمات الجهل والوهم إلى أنوار المعرفة والعلم ، ومن وحول الشهوات إلى جنات القربات ، والحمد لله الذي أنزل على عبده الكتاب ولم يجعل له عوجا ، وشرع الإسلام وجعل له منهجاً ، وأعز أركانه على من غالبه ، فجعله أمناً لمن تمسك به ، وسلماً لمن دخله ، وبرهاناً لمن تكلم به ، وشاهداً لمن خاصم عنه ، ونوراً لمن استضاء به ، وفهماً لمن عقل ، ولباً لمن تدبر ، وآيةً لمن توسم ، وتبصرةً لمن عزم ، وعبرة لمن اتعظ ، ونجاة لمن صدق ، وثقة لمن توكل ، وراحة لمن فوض ، وجنة لمن صبر .
اما بعد
اضع اليوم بين ايديكم احد البرامج التي تستخدم لفك حماية المصنفات من الخارج
وشرحه بسيط كل ما عليك ان تحدد  كلمة المرور اما حروف او ارقام او الاثنين معا او اضافة لهم علامات
وطول كلمة المرور بمعني اذا كنت لاتعلم طول الكلمة فتضع مثلا تخمين   من رقم الى 10 ارقام مثلا حسب ما تريد
اما اذا كنت تعرف طول الكلمة مثلا 10 ارقام يبقي  تكتب من 10 الى 10
لتختصر في وقت البحث وكلما كانت الكلمة سهلة كان الوصول لها اسهل وكلما كانت مركبة كلما تأخر الحصول عليها
asdasd.PNG.5890c60b1b654951997ef84f0a602
شرح الطريقة / يتم تنصيب البرنامج ويتم وضع الباتش بداخل مسار البرنامج ويتم فتح الباتش والضغط على كلمة باتش لجعل البرنامج كامل
ملحوظة يرجى اغلاق برنامج الحماية اثناء نقل الباتش لانه يعتبره فيرس وبعدها قم بحذف الباتش عادي واعادة تشغيل الحماية انا عارف ان دا مخالف بس انا نزلت احد البرامج عشان الاخوة اللي بيعانو من فقد كلمات المرور
يوجد برامج عدة من هذا النوع وانواع اخرى واذا جمعت بعض منها ويكون كامل سأضعه لكم باذن الله
نجح مع ملفات  xls


تقبلو تحياتي
ياسر العربي
:fff::fff::fff::fff:

صلاحيات للوصول لشيتات معينه داخل ملف الاكسيل

صلاحيات للوصول لشيتات معينه داخل ملف الاكسيل

بسم الله الرحمن الرحيم
اليوم هنعرف ازاي نعمل صلاحيات للوصول لشيتات معينه داخل ملف الاكسيل
بعد ما راجعنا الدرس السابق نبدأ من حيث انتهينا
الأساسيات
الشاشة الرئيسية
undefined
الصفحات الأخرى
2.PNG.ec142d2af460bc4f6dd8d338864c9f88.P
3.PNG.ddd7b623d2d2604385f56ad77ded3daf.P
undefined
وأخيرا صفحة  معلومات الدخول والصلاحيات
undefined
ودي أسماء الصفحات داخل الشيتات وبرمجيا
undefined
نقوم بتصميم نفس الصفحات السابقة
أظن سهلة العملية لحد دلوقتي
حان دور الاكواد
نبدأ بالاكواد السهلة
في كل صفحة غير الرئيسية بها زر رجوع نضع الاكواد كالاتي
صفحة ادخال البيانات في زر الرجوع

Sub yasser1()
index.Activate
sheet1.Visible = xlSheetVeryHidden
End Sub
السطر الاول للرجوع للصفحة الرئيسية
السطر الثاني لاخفاء صفحة ادخال البيانات وهي شيت1
وتكرر في الصفحات المتبقية
صفحة الاستعلام
Sub yasser2()
index.Activate
sheet2.Visible = xlSheetVeryHidden
End Sub
صفحة قاعدة البيانات
Sub yasser3()
index.Activate
sheet3.Visible = xlSheetVeryHidden
End Sub
صفحة المستخدمون users
Sub mohamed1()
index.Select
users.Visible = xlSheetVeryHidden
End Sub
وقبل ان نترك صفحة اليوزرز
نضع هذه المعادلات
7.PNG.05fb0570d283a346fdda82ced81d39ff.P
=IF(J2="";"";VLOOKUP(J2;A2:E8;3;FALSE))
=IF(J2="";"";VLOOKUP(J2;A2:E8;4;FALSE))
=IF(J2="";"";VLOOKUP(J2;A2:E8;5;FALSE))
هذه الدوال تجلب بيانات المستخدم من جدول المستخدمين ومنها نقوم بالتحكم في صلاحياته

الآن حان دور الصفحة الرئيسية
نضع في اول زر وهو زر ادخال البيانات الكود التالي
undefined
Sub aseel1()
If users.Range("k2") = "yes" Then
Application.ScreenUpdating = False
sheet1.Visible = xlSheetVisible
sheet1.Select
Else
MsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = True
End If
End Sub

زر الصفحة الثانية صفحة الاستعلام
11.PNG.b80241e544cb7884c8793df2c3de5b39.
Sub aseel2()
If users.Range("L2") = "yes" Then
Application.ScreenUpdating = False
sheet2.Visible = xlSheetVisible
sheet2.Select
Else
MsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = True
End If
End Sub
زر الصفحة الثالثة صفحة قاعدة البيانات
12.PNG.b43067685ae8a4cd34d09e82edc46d86.
Sub aseel3()
If users.Range("m2") = "yes" Then
Application.ScreenUpdating = False
sheet3.Visible = xlSheetVisible
sheet3.Select
Else
MsgBox "انت لا تمتلك الصلاحية لدخول هذه الصفحة ", vbCritical, "elmalak_elhazen_yasser@yahoo.com"
Application.ScreenUpdating = True
End If
End Sub
زر الصفحة الرابعة صفحة صلاحيات اليوزرز
13.PNG.16ce8d0fa6f674fc5fbbc3190971b2c9.
وهنا سنغير الكود  سنعطى لهذه الصفحة كلمة مرور خاصة غير باقي الصفحات
Sub mohamed()
Dim x
    x = InputBox("يرجى ادخال كلمة المرور.", "Password Required")
    If x = "123" Then
users.Visible = xlSheetVisible
users.Select
        Else
        MsgBox "كلمة المرور خطأ يرجى اعداة المحاولة"
    End If
End Sub


 
اكواد الصفحات تعتمد علي
اول سطر يقوم بمقارنة  الخلية الخاصة بالصفحة اذا كانت بها كلمة yes
فيسمح بالدخول اما غير ذلك لا يمكن الدخول
والجزء الثان من الكود يقوم باظهار الصفحة عند تحقق الشرط والذهاب اليها
ينقصنا سطر صغير لاتمام الموضوع
undefined
نسخ اسم المستخدم عند الدخول الى الخلية المحددة ليتم جلب بيانته عن طريق اسمه
وتتم كالاتي
undefined
يتم وضع الكود في حدث زر الدخول
undefined
users.Range("j2") = ComboBox1.Value
وبكدا يكون انتهى الدرس

لتحميل مثال اضغط هنا 
 
تقبلوا تحياتي
ياسر العربي
:wink2:
عمل شاشة دخول باسم مستخدم وكلمة مرور

عمل شاشة دخول باسم مستخدم وكلمة مرور

بسم الله الرحمن الرحيم
اليوم سنشرح عمل شاشة دخول ولكن
باسم مستخدم وكلمة مرور
بسم الله نبدأ
بالشكل الموضح يوجد
المشار لهم بالسهم الأخضر  7 label
السهم الأحمر    1 textbox
السهم الأسود     1 combobox
وزر دخول      وزر خروج
وطبعا اتنين image  لشعار الشركة
undefined
بعد تصميم نفس الشكل السابق
نقوم بعمل شيت جديد اسمه users
undefined
undefined
كما بالصورة
بعد تسمية الشيت وخصوصا برمجيا  مثل التحديد الأحمر
نضيف البيانات كالأتي
Capture.JPG.8efb534c70e99ec3510e113f8907
نيجي بقي للاكواد
اولا كما تعلمنا في الدرس السابق نقوم بوضع هذه الاكواد في اليوزرفورم

في general))
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
في حدث الاغلاق
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If unloadmode = vbFormControlMenu Then
Cancel = True
MsgBox "غير مسموح"
End If
End Sub

اما في حدث تنشيط الفورم فنقوم باضافة اكواد ربط الليبل الخاصة ببيانات الشركة  بالخلايا التي تحتوي علي البيانات

Private Sub UserForm_Activate()
Application.WindowState = xlMaximized
Application.Visible = False
Label1.Caption = users.[e1]
Label2.Caption = users.[e2]
Label3.Caption = users.[e3]
  With Me
 .Height = Application.Height
 .Width = Application.Width
 .Left = Application.Left
 .Top = Application.Top
 End With
End Sub

وفي زر الخروج

Private Sub CommandButton2_Click()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
تبقي لنا الكود الاهم
وهو زر الادخال
Private Sub CommandButton1_Click()
On Error GoTo 86
If Application.WorksheetFunction.VLookup(ComboBox1.Value, users.Range("a2:l0"), 2, 0) = TextBox1.Text Then
Me.Hide
Application.Visible = True
MsgBox ComboBox1.Value & " مرحبا بك/   ", , "elmalak_elhazen_yasser@yahoo.com"
 Else
86
Label7= Label7+ 1
MsgBox " لقد استخدمت  " & Label7 & " محاولة من اصل  5  محاولات" ,vbCritical, "elmalak_elhazen_yasser@yahoo.com"
If Label7= 5 Then
MsgBox "لقد استنفذت جميع المحاولات"
ActiveWorkbook.Save
ActiveWorkbook.Close
End If
End If
End Sub
استخدمنا هنا دالة vlookup للبحث والمقارنة عن المستخدم وكلمة المرور
ان لم يحقق الشرط يتم التحويل الى عدد المحاولات  ومنها الى اغلاق البرنامج

وطبعا زي كل مره ننسى نحط كود في حدث فتح الملف
Private Sub Workbook_Open()
 Userform1.Show   
End Sub

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

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

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

بسم الله الرحمن الرحيم
 
وجدت كثيرا من الاعضاء تطلب هذا الموضوع كثيرا  وعندما وضعت  مثال لشاشة دخول بكلمة مرورظهر ليا مشرف كدا كالعادة وقالي البوقين دول
كنت أفضل يكون في موضوع مستقل لأن المشاركات الفرعية تندثر مع الوقت
لما تلاقي نفسك عملت ملف مميز زي كدا .. افتح موضوع جديد واشرح بالتفصيل (مش ترمي الملف وتجري ..) وبعد كدا في المشاركة الفرعية تضع رابط للموضوع ليستفيد أكبر عدد من الأعضاء
إذ أن المتابعين للمشاركات قلة .. ولكن هناك كثر في انتظار الموضوعات الجديدة للتعلم والاستفادة .. متنساش كلامي يا سكر زيادة
 
وانا حبيت اوجه له رسالة من هنا  واقول له  انا بحب الشاي سكر خفيف
المهم حبيبي الغالي فعلا صدق في كلامه  فا نخش في الموضوع وبلاش رغي بقي
اولا نفتح بقي ملف اكسيل  جديد ونخش محرر الاكواد  ونعمل يوزر فورم جديد
ونقوم بوضع  عدد
واحد  ليبل  عشان نتكب فيها كلمة المرور او رمز الحماية  او  أي حاجه في أي حاجه
اثنين تكست بوكس
الاول لكتابة المستخدم داخلها كلمة المرور اللي هيكتبها عند الدخول
الثاني مش مهم لينا  كل لزمته انه كل ما المستخدم يحط رقم  غلط يزود فيه رقم لحد لما يوصل للرقم المحدد لاغلاق البرنامج وتظهر رسالة تقوله GAME OVER
بمعني انه استنفذ كل المحاولات  وجاري اغلاق البرنامج
وواحد كومند   زرار يعني  عشان ندوس عليه للدخول
ز ما احنا شايفين
undefined
وطبعا متنسوش تحطه خلفيه حلوة كدا للفورم دا اهم حاجه عندي اه كله الا الجماليات
وموضوع الجماليات دا نعمله موضوع قريب ان شاء الله بس تكون عندكو لسعه فوتوشوب بس
وطبعا نخلي الخلفية علي وضع الاسترتش اه يعني الصورة تبقي لازقه في الفورم  كيبر تكبر معاه يصغر تصغر معاه  تمام كلنا عارفين الاسترتش كويس
زي ما احنا شايفين
undefined
نيجي بقي للاكواد
اول كود نحطه في  الجينرال بقي اول حاجه
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ودول لزوم الفشخرة والمنظره وعشان نقصقص البتاعه دي
undefined
هي الخيارات بتاعتها متاحه في الفيجوال بيسك  عادي
زي كدا 
undefined
ننفض للحته دي 
نخش علي
 الكود اثالث
ودا هيبقي في تنشيط اليوزر فورم
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
 ندوس علي التكست بوكس اتنين ونغيره من هنا 
undefined
ومننساش نخفى التكست بوكس دا من هنا
undefined
واحد فكيك بقي يقول ليه am
اقوله ياناصح دول اول حرف من اسيل واول حرف من محمد  ولادي تمام يامعلم
محدش يشتم ولا يضرب :dance1:
 المهم بقي  ان am
بتساوي نفسها + 1 تمام
اه قبل ما انسى نخلي قيمة am دي 
بصفر نكتب جواها صفر عشان لما يعد يعد من بعد الصفر
يعني كل ما المعلم يدوس غلط يزود رقم واحد وتطلع رسالة تقوله وصلت لكام محاولة
ولما يوصل للمحاولة الخامسة يقوله بالسلامة ياحبي 
انا هقفل وانام
وتمام كدا زي الفل والكلام خدنا والدرس خلص 
شفتوا انتو مش مصحصحين ازاي 
نسينا نحط كود فتح الفورم في حدث فتح الملف

Private Sub Workbook_Open()
UserForm1.Show
End Sub
 وبعدين انا مش هحط امثلة 
زي واحد صاحبي وحبيبي بيقول انكم لازم تتعبوا شوية وتعملوها بنفسكوا بدل ما تخدو كوبي وبست وخلاص
للحديث بقية باذن الله لاستكمال اضافات تانيه
اتمنى من الله ان ينفعكم هذا الشرح 
تقبلو تحياتي 
ياسر العربي
قلت اضيف صورة الكود لكم عشان ميبقاش ليكو حجه
undefined

فك حماية محرر الاكواد Xlsm & Xlsb بدون تحويل الملفات ل Xls

فك حماية محرر الاكواد Xlsm & Xlsb بدون تحويل الملفات ل Xls

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

 
اما بعد احبتي:
اليوم سنتعلم كيفية فك حماية ملفات الxlsm & xlsb
الطريقة طويلة بعض الشئ وكنت انتظر حتى اجد تسهيل لها ولكن لم يسعفني الوقت للبحث في هذا الموضوع 
وبعد طلب بعض الاخوة طريقة الفك لهذه الملفات
قررت ان اضع الشرح بالطريقة المفصلة لحين ايجاد طريقة مختصرة باذن الله
اولا نقوم بتحميل هذا البرنامج
وهو برنامج الهيكس  HEX
وهو للتعديل علي معظم البرامج وله استخدامات كثيرة يهمنا منها التعديل على نظام حماية الملف فقط

 ملحوظة الشرح مطبق على امتداد Xlsm وبنفس الطريقة يتم التطبيق على Xlsb
واعذروني على سرعة الشرح
شرح سريع بالصور
1.PNG.99b53809025b4f1c3ecaac44617a5278.P
undefined
33.PNG.7e41f48cbd49200a33efb7ea8bad5efd.
44.PNG.b6c9dfc17f58309c00edc366d89db8b1.
55.PNG.223653d6d32ce0fa648d5cd5b2c2de5a.
undefined
 
مع تحياتي 
ياسر العربي

مقالات

أخبار