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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      27

    • Posts

      13165


  2. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      14

    • Posts

      1510


  3. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      12

    • Posts

      7250


  4. الجموعي

    الجموعي

    الخبراء


    • نقاط

      8

    • Posts

      703


Popular Content

Showing content with the highest reputation on 03/20/16 in all areas

  1. السلام عليكم ورحمة الله تعالى وبركاته اعرف مسبقا ان الموضوع فتح من قبل واكثر من مره وبعد البحث لم اجد موضوع متكامل فى هذا الشأن اعرف ان الكمال لله وحده سبحانه وتعالى ولكن فكرت بطريقة مختلفه فى طرح الموضوع بفكرة ورشة عمل ليكون شاملا وليجتمع فيه معظم الافكار لنخرج بمشروع متكامل باشتراك كل كل الاخوة الذين برغبون فى الاشتراك وكذلك تحت اشراف اساتذتنا الكرام بارك الله فيهم فيكون علم ينتفع به وصدقة جاريه فلنجدد النوايا ونبدا على بركة الله وضعت بذور البداية ووصلت لمرحلة لابأس بها ولكن احب ان اابدا بالقاعدة من البداية من تحت الصفر حتى نضع الاساس سويا يد بيد اولا نضع تصور وخطوط عريضه لالية سير منظومة حتى نستطيع وضع الاسس لقاعدة البيانات - الحضور من الساعه 7 صباحا - الانصراف فى الساعة 3 عصرا - السهر " ساعات العمل الاضافية " من الساعة 4 الى الساعة 6 - ايام العمل من الأحد الى الخميس - العطلات الاسبوعية يومى الجمعة والسبت - قد يكون هناك استدعاء للعمل ايام العطل الاسبوعية فيحتسب اجر اضافى - هناك بعض الافراد حسب موقع عملهم بصرف لهم علبة حليب - لكل عامل فى وقت السهر وجبه أو بدل وجبه لكل عامل حرية الاختيار - التأمين الطبى إما تابع للمؤسسة أو تأمين خارجى للعامل حرية اختيار احداهما - الاجازات حسب الدرجه وحسب سنين الخدمه
    4 points
  2. وعليكم السلام ابي الغالي ابو يوسف مشكور على مرورك العطر بالموضوع .. بارك الله فيك والحمد لله أن جعلنا الله سبباً في تيسير الأمور ، فلكل واحد نصيب من اسمه أخي العزيز صلاح الحمد لله أن تم المطلوب على خير ..ومش عارف بقا المعلومة كانت تستاهل أسبوع بحث ومحدش يلاقيها ...عايزين نطور نفسنا في موضوع البحث ده عشان نلاقي الكنوز المدفونة ونستفيد منها ونحااول نسبق اللي سبقونا تقبل تحياتي
    3 points
  3. السلام عليكم إخوتي وأبنائي الأحبة: رائع ما قدمتموه ...إذاًصار يمكننا استخراج الصور من ملف الإكسيل بكل يسر وسهولة يسّر الله عليكم جزاكم الله خيراً ...والسلام عليكم.
    3 points
  4. كيف لا تجدي نفعاً مع الملف الذي يحتوي على ماكرو .. الملف المرفق في الموضوع الذي اختفى كان بامتداد xlsm .. ومطبقة عليه الطريقة ..حاول مرة أخرى لربما أخطأ في الخطوات فقط
    3 points
  5. ياسر العربي .. أخوك أبو البراء بيحب الفيروسات هو كمان ومن فترة كنت عامل مزرعة فيروسات بختبر بها مدى قوة برامج الأنتي فيروس .. وفيها فيروسات مقولكش ..ملهاش حل مع أي أنتي فيروس .. بس للأسف المزرعة مش لاقيها .. عموماً ربنا يسهل وأعمل لك مزرعة بط بدل مزرعة الفيروسات أخي الكريم محمد ماهر أنصح بما نصحك به أخونا ياسر العربي وهو ما نصحتك به في البداية ..حل الفيروسات ويندوز جديد لا تفتح بعدها أي درايف .. نصب الأنتي فيروس من على فلاشة تكون متأكد إنها نصيفه أو نزل البرنامج من على الانترنت ونزله على سطح المكتب ونصبه ونضف .. والتنضيف يكون مرة أو اتنين للتأكد من خلو الجهاز من الفيروسات وبعدها ابدأ في التعامل بتنصيب باقي البرامج .. وإن شاء الله تتحل مشكلتك تقبلوا تحياتي
    3 points
  6. أخي الحبيب صلاح أنا بقالي يومين بحاول أشوف الموضوع فين .. يظهر العفاريت عملوها فينا وأخفوا الموضوع عموماً كنت قد طلبت الطريقة ووجب علي أن أقدمها لك خصوصاً بعد انتظار أسبوع الموضوع والحل الذي لدي في قمة البساطة والسهولة .. وأنا خايف تشتم بعد ما تعرف الطريقة (فعايز وعد منك من غير شتيمة) الحل بدون أكواد على الإطلاق المصنف اللي فيه الصور المراد استخراجها غير امتداده من xlsm إلى zip .. وروح اعمل كليك يمين عليه واعمل Extract أي استخراج للملفات .. هيطلع لك من ضمن المستخرج مجلد اسمه Media ودا جواه الصور بنفس التنسيق ونفس الحجم تماماً وسلم لي على التروماي .. ومش عاااااااااااااايز شتيمة تقبل وافر تقديري واحترامي
    3 points
  7. لا تخف اخي الغالي ما انصح به بشدة هو تنصيب نسخة ويندوز جديدة مع ازالة النسخة القديمة اي لا تعمل تحديث للنسخة فرمت وقم بتنصيب نسخة جديدة وبعدها لا تفتح اي دريف من الموجودين على الجهاز قم بتنزيل انتي فيرس من مكان اخر مضمون عن طريق فلاشة او سي دي وشغله وخليه يعمل اسكان على الجهاز او هناك اسطوانات صيانة مجهزة للاقلاع عند تشغيل الجهاز وتقوم بفحص الجهاز بدون فتح الويندوز ارفع احد الملفات اللي مش شغالة عندك على رابط خارجي وابعته لي برسالة وانا متحمل مسئولية الضرر لاني بحب الفيروسات ابعتو نشوف الموضوع دا
    3 points
  8. السلام عليكم ورحمة الله تعالى وبركاته أحبائي وأساتذتي الأفاضل أقدم لك هذه التجميعية البسيطه ليستفيد بها المبتدئ والمحترف تجمعية تحت عنوان تغذية القائمة المنسدلة خاصة بالفورم (ComboBox) بمدى ديناميكي أولا: نقوم بإنشاء فورم وندرج به قائمة منسدلة (ComboBox1) ثانيا : نفتح محرر الاكواد View Code) ثالثا: من نافذه المحرر نختر حدث بداية التشغيل الفورم UserForm_Initialize Private Sub UserForm_Initialize() End Sub نقوم بوضع المتغير التالي الخاص بتحديد ورقة العمل وهم أمر مهم جدا Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select End Sub نأتي الأن إلى الأكواد الخاصة بتغذية القائمة المنسدلة ملاحظه جميع الأكواد الخاصة بالتغذية أنا إخترت العمود الأول وبداية التغذية من الخلية A2 ولكم حرية التغيير الكود رقم 1 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Range("A2", Range("A" & Rows.Count).End(xlUp)).Name = "Dynamic" Me.ComboBox1.RowSource = "Dynamic" End Sub الكود رقم 2 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = Range("B2", Range("B65536").End(xlUp)).Address End Sub الكود رقم 3 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = ("A2:A") & ws.Cells(Rows.Count, "A").End(xlUp).Row End Sub الكود رقم 4 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.List = Range("A2:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row).Value End Sub الكود رقم 5 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim FR As Integer, LR As Integer With ws LR = .Range("A2").End(xlDown).Row For FR = 2 To LR Me.ComboBox1.AddItem .Range("A" & FR) Next FR End With End Sub الكود رقم 6 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim R As Integer With ws For R = 2 To .Range("A" & .Rows.Count).End(xlUp).Row If .Range("A" & R) <> "" Then Me.ComboBox1.AddItem .Range("A" & R) End If Next R End With End Sub الكود رقم 7 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long LR = ws.Cells(Rows.Count, "A").End(xlUp).Row myList = ws.Range("A2:" & "A" & LR) Me.ComboBox1.List = myList End Sub الكود رقم 8 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long LR = ws.Range("A" & Rows.Count).End(xlUp).Row Set myList = ws.Range("A2:A" & LR) Me.ComboBox1.List = myList.Value End Sub الكود رقم 9 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim LR As Long With ComboBox1 LR = ws.Cells(Rows.Count, 1).End(xlUp).Row .List = ws.Range(ws.Cells(2, 1), ws.Cells(LR, 1)).Value End With End Sub الكود رقم 10 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim myList As Range For Each myList In ws.Range("A2").SpecialCells(xlConstants) With Me.ComboBox1 .AddItem myList.Value .List(.ListCount - 1, 1) = myList.Offset(0, 1).Value End With Next End Sub الكود رقم 11 Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim i As Integer, iMin As Integer, iMax As Integer iMin = 2: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For i = iMin To iMax ComboBox1.List = Range(Cells(iMin, 1), Cells(iMax, 1)).Value Next i End Sub الكود رقم 12 من إدارة الأسماء نختر جديد الإسم انت حر فيما تختار أنا إخترت MyRange في خانة يشير إلى نقوم بوضع هذه المعادلة =OFFSET(Sheet1!$A$2;;;COUNTA(Sheet1!$A$2:$A$10000);1) في الفورم نقوم بوضع الكود التالي Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Me.ComboBox1.RowSource = "Myrange" End Sub الكود رقم 13 كود تغذية القائمة المنسدلة بدون فراغات Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim cell As Range With ws For Each cell In .Range("A2:A" & .Cells(Rows.Count, "A").End(xlUp).Row) If Not IsEmpty(cell) Then ComboBox1.AddItem cell.Value Next cell End With End Sub الكود رقم 14 كود تغذية القائمة المنسدلة بدون فراغات وبدون تكرار Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim I As Integer Dim Valeurs As Variant Dim sDic As Object Set sDic = CreateObject("Scripting.Dictionary") With ws Valeurs = .Range("A2:A100").Value For I = LBound(Valeurs) To UBound(Valeurs) If Not IsEmpty(Valeurs(I, 1)) Then sDic(Valeurs(I, 1)) = "" Next I End With If IsArray(Valeurs) Then Me.ComboBox1.List = sDic.keys End Sub وفي الأخير أتمنى هذه التجمعية المتواضعة أن تفيدكم أعرف أن أستاذي القدير حيزعل مني لأني لم أقم بوضع هذه الاكواد في تجمعية مكتبه المنتدى ووضعها في موضوع منفصل حتى يكون هذا الموضوع مرجعا لكل من يريد التعلم بأبسط الطرق أستاذي القدير وحقك عليا تقبلو تحياتي لا تنسونا بخالص دعائكم
    3 points
  9. بالنسبة لطلبك الاول تفضل Private Sub UserForm_Initialize() Dim ws As Object Set ws = ThisWorkbook.Sheets(1) ws.Select Dim I As Integer Dim Valeurs1, Valeurs2, Valeurs3 As Variant Dim sDic1, sDic2, sDic3 As Object Set sDic1 = CreateObject("Scripting.Dictionary") Set sDic2 = CreateObject("Scripting.Dictionary") Set sDic3 = CreateObject("Scripting.Dictionary") '=============================خاص بالكمبوبوكس3=============================== With ws Valeurs1 = .Range("A2:A1000").Value For I = LBound(Valeurs1) To UBound(Valeurs1) If Not IsEmpty(Valeurs1(I, 1)) Then sDic1(Valeurs1(I, 1)) = "" Next I End With If IsArray(Valeurs1) Then Me.ComboBox1.List = sDic1.keys '=============================خاص بالكمبوبوكس2=============================== With ws Valeurs2 = .Range("B2:B1000").Value For I = LBound(Valeurs2) To UBound(Valeurs2) If Not IsEmpty(Valeurs2(I, 1)) Then sDic2(Valeurs2(I, 1)) = "" Next I End With If IsArray(Valeurs2) Then Me.ComboBox2.List = sDic2.keys '=============================خاص بالكمبوبوكس3=============================== With ws Valeurs3 = .Range("C2:C1000").Value For I = LBound(Valeurs3) To UBound(Valeurs3) If Not IsEmpty(Valeurs3(I, 1)) Then sDic3(Valeurs3(I, 1)) = "" Next I End With If IsArray(Valeurs3) Then Me.ComboBox3.List = sDic3.keys End Sub
    3 points
  10. السلام عليكم ورحمة الله وبركاته وجدت هذه الدالة اثناء تجولي وحبيت ان اضع عليها مثال هنا لمن قد يبحث عنها الدالة هي FILELEN وهذا ببساطة شكل الدالة FileLen( file_path ) الدالة تحضر حجم الملف بالبايت .. وبإمكاننا التحويل الى ما نريد بعد ذلك هنا طرق التحويل المعروفة للجيمع . 1 Byte = 8 Bit 1 Kilobyte = 1,024 Bytes 1 Megabyte = 1,048,576 Bytes 1 Gigabyte = 1,073,741,824 Bytes 1 Terabyte = 1,099,511,627,776 Bytes في المرفق انا حولت الى كيلوبايت .. اترككم مع المثال .. فك الضغط على الدرايف D للتجربة وبعدها بإمكانك النقل الى اي مكان كل ما عليك هو معرفة المسار والإمتداد بالتوفيق للجميع fileSizeDemo.rar
    2 points
  11. لسّلام عليكم و رحمة الله و بركاته أخي الكريم " ياسر يا عربي " .. وخي " عبد العزيز البسكري "جزاكم الله خيرا دام الله عليكم الصحة والعافية وحفظكم الله ورعاكم وجعلكم من الناجون من هول يوم القيامة بارك الله فيكم
    2 points
  12. بسم الله الرحمن الرحيم ارجوا من الاخوة والاساتذة الكرام تجربة هذا الملف واخباري بالنتيجة هل يعمل بدون مشاكل ام يوجد مشاكل بالملف البرنامج لمراقبة حركة الاصناف من صرف واستلام والرصيد النهائي لكل صنف مصمم بالفيجوال بيسك وقمت بتحويل المعادلات لتعمل مع الفيجوال طبعا شوية معادلات محدودة ليس الا كل ما احتاجه هو الالمام بمعظم دوال ومعادلات الاكسيل برمجيا حتى اتعامل بها مع الفيجوال بيسك طبعا للجماعه اللي بتقول الحماية علي معادلاتي وشغلي اظن كدا بقت محمية كويس ملف الاكسيل ليس الا قاعدة بيانات فقط وكل معادلاتنا داخل الملف التنفيذي للفيجوال اينعم اعرف بعض طرق لاعادة سورس كود البرنامج ولكن يوجد برامج تشفير كتيررررر لحماية الملف من هذه المواضيع ارجو ان يعمل البرنامج بنجاح معاكوا وميحرجنيش معاكو ارجو التقييم اخوكم ياسر العربي vb6-excel.rar
    2 points
  13. وانا فى انتظار على احر من الجمر بس متنسناش علشان مبردش واخد انفلوسه و واعيط ههههههههه حبيبى يا ابواسيل جزاك الله كل خير حبيب قلبى
    2 points
  14. حبيبي احمد باذن الله في اقرب فرصة اضع دروس جديدة وهي في النية باذن الله حبيبي عبد العزيز انت بقيت معلم في الحاجات دي مش محتاج لينا واخد بالك على العموم انت معانا ولو في جديد اديك هتستفاد مفيش اديك بتراجع
    2 points
  15. بعد اذن اخي الغالي عبد العزيز تفضل اخي الغالي هذا التحديد يشير الى رقم الاداة في الانتقال وفي المثال هنا التكست المشار لها رقمها 1 والليست بوكس رقمها 2 عند الوقوف داخل التكست والضغط على زر TAB يتم الانتقال لرقم 2 وهي الليست للأنتقال من التيكست بوكس ل الليست بوكس مباشرة.rar
    2 points
  16. بالنسبة لكود جلب الصورة اليك الكود التالي Private Sub CommandButton2_Click() Dim strFileName As String strFileName = Application.GetOpenFilename(filefilter:="Tiff Files(*.tif;*.tiff),*.tif;*.tiff,JPEG Files (*.jpg;*.jpeg;*.jfif;*.jpe),*.jpg;*.jpeg;*.jfif;*.jpe,Bitmap Files(*.bmp),*.bmp", FilterIndex:=2, Title:="Select a File", MultiSelect:=False) If strFileName = "False" Then MsgBox "File Not Selected!" Else Me.Image1.Picture = LoadPicture(strFileName) End If End Sub
    2 points
  17. السلام عليكم انا على سفر ، وبعيد عن الكمبيوتر ، لهذا السبب انا بعيدا عن المنتدى عندي ملاحظة واحدة فقط ، وبحسب خبرتي في هذا الموضوع: الكمبيوتر يعطي أولوية تنفيذ أوامر CPU إلى برامج الوندوز ، ثم البرامج الاخرى ، مما قد يُؤخر تنفيذ أوامر برنامج الاكسس ثانية او اثنين ، إذًا ، عند تنفيذ الأمر التالي او أمر مثله: If rs!mish_time = Time() Then قد يكون CPU الكمبيوتر مشغولا ، وعند تنفيذ الامر ، الوقت لن يكون مطابقاً ، لأننا نقارن الوقت بالثواني ، وحينها ، فالمعادلة لن تُنفّذ !! لذلك ، ولتفادي هذه المشكلة ، اجعل مقارنة الوقت: إما بالساعة والدقيقة وبدون ثواني ، وإما اجعل المقارنة ">=" بدل "=" ، او شئ من هذا القبيل ، وإلا ، فقد يفوتك موعد ولن تعرف لماذا جعفر
    2 points
  18. اخي الغالي ياسر ابو البراء اخي محمد ماهر لا تستهينوا بهذا الفيروس فهو من اخطر الفيروسات اطلاقا وهو ما يسمي بفيروس تشفير الملفات وطلب فدية مقابل فك تشفيرها مره اخرى ويتم عن طريق رسالة تظهر بعد الانتهاء من جميع تشفير ملفات الجهاز وتطلب منك دفع مبلغ 100 دولار مقابل استلام الاداة لفك تشفير الملفات وليس لها ضامن بحاول ادور على اداة ولكن لم يوفقني البحث حتى الان المهم حاول تحتويه كما قلنا سابقنا حتى نتمكن من معالجة جميع الملفات المشفرة وليست تالفه هي مشفرة هذه صورة توضح امتداد ملف اكسيل عادي وهذه صورة الملف الخاص بك اخي الغالي ولم يتعرف على امتداده الفيرس اسمه CryptoLocker ياريت الكل يحاول معانا لحل تشفير الملفات دا ان صح كلامي تقبلو تحياتي
    2 points
  19. أخى الفاضل ابو البراء وهل أحد يشتم مثله الأعلى , بل أدعو لك بكل خير " حفظك الله ورضى عنك وأرضاك وزادك علماً نافعا " الفكره جميله ومبتكره , واثراء للموضوع الفكره لم تجدى نفعا مع ملف الاكسل المحتوى على ماكرو فلابد من حفظ الملف اولا بصيغة اكسل العاديه ثم تغيير الامتداد ZIP أو RAR ثم فك الضغط
    2 points
  20. السلام عليكم الكوود التالي يلغي الطباعة من كل اوراق الملف Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True End Sub و يوضع في thisworkbook و الغاء الطباعة من ورقة محددة Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name = ("Sheet1") Then Cancel = True End Sub
    2 points
  21. حياك الله اخ مصطفى جوابك يفيد بأنك لم تقراء اي شئ عن الباركود .... تابع هذه الفيديوهات عل بها فائدة https://www.youtube.com/watch?v=qaxMC_D7gYE بالتوفيق
    2 points
  22. السلام عليكم و رحمة الله وبركاته بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد وآله وصحبه اجمعين هذ الموضوع هو الحاقا للموضوع السابق برنامج السكرتير الخاص الإصدار الأول / أحمد زمان http://www.officena.net/ib/index.php?showtopic=42018#entry239414 حيث مرة عدة سنوات عليه مما احتاج خلالها الى بعض الإضافات و بعض التحسينات مرفق ملف شرح اتمنى ان يكون به افائدة للجميع ‏السبت‏، 19‏/3‏/2016م الموافق ‏10‏/6‏/1437هـ خصائص عامة بالملف: - حفظ الملف تلقائيا عند الإستخدام كل 10 عشرة دقائق - إخفاء ورقة الأرقام السرية - بعد الدخول إليها بـ 12 دقيقة - إمكانية استخدام التاريخين الهجري و الميلادي - المحافظة على صغر حجم الملف: حيث يتم زيادة 9 صفوف عند الدخول إلى أي ورقة تلقائيا 1- المواعيد يتم تسجيل كل المواعيد المهمة حسب التاريخ وتقبل خانه التاريخ أي تاريخ هجري أو ميلادي يتم ترتيب البيانات حسب التاريخ عن الدخول مره أخرى إلى الورقة أو بالضغط على زر المواعيد المواعيد المنتهية و المنجزه يتم التسجيل أمامها (منتهى) ولن تظهر أمامك إلا من خلال البحث يمكنك البحث عن اي معلومة في المواعيد من خلال الخلية الصفراء الموجودة في أعلى الورقة 2- دليل الهاتف * هو دليل يشمل عدة خانات من جوال وفاكس وهاتف و ايميل * يمكنك البحث في دليل الهاتف من الخلية الصفراء أعلى الصفحة * يمكنك البحث عن اي جزء من أي معلومة جزء من الاسم أو الرقم , مع تلوين النتائج بلون مميز 3- التقويم والتاريخ نظرا لما عانيته في استخراج التاريخ من الهجري إلى الميلادي ومن الميلادي إلى الهجري تم عمل هذه الورقة بحيث يتم إدخال التاريخ (هجري أو ميلادي) في ألخانه الصفراء أعلى الصفحة - ثم - تظهر لك النتائج للتواريخ متسلسلة لمدة 45 يوما قبل التاريخ المدخل ب 8 أيام مع تفاصيل تسجيل اسم الشهر الهجري واسم الشهر الميلادي واسم اليوم بالعربي والانجليزي ويوجد على يسار الورقة قائمه بأسماء الأشهر هجري و ميلادى مرتبه بالتسلسل 4- تجميع هي ورقه عاديه لتجميع الأرقام في الخانات 5- كلمه سر بسبب كثرة اسم المستخدم وكلمات المرور التي نستخدمها يوميا حيث كل موقع حكومي له اسم مستخدم وكلمة مرور وكل موقع بنك له كذالك وغير ذلك كثير, لذلك تم إنشاء هذه الورقة: * يتم الدخول إلى الورقة بكلمه سر وهى (22) * يتم وضع وصف للموقع وكلمه السر وكلمه المرور * يتم إخفاء هذه الورقة بعد 10 دقائق من استخدامها لسرية المعلومات التي بها * يتم البحث من الخلية الصفراء أعلى الورقة وتظهر لك النتائج المحددة في خانة البحث فقط مع تمييزها بلون مميز 6-وصول سريع بسبب كثرة الملفات التي نحتاجها باستمرار ولتسهيل الوصول إلى هذه الملفات وحيث أنني وجدت البحث في ويندوز الجديد صعب علي إنا. بالدخول إلى وصول سريع يتم ترتيب البيانات بالتسلسل الأبجدي تضع اسم مختصر للملف وشرح لعمل الملف ثم تضغط على زر (اضافه رابطlink) الموجود أعلى يسار الصفحة, من مربع الحوار تختار الملف المطلوب يتم وضع رابط للملف في خانة الموقع والوصول (ارتباط شعبي). البحث :- في قائمة البحث أعلى الصفحة تكتب أي أحرف من اسم الملف أو المجلد تظهر لك النتائج المطلوبة وبالضغط على موقع الوصول يتم فتح الملف المطلوب. السكرتيرالخاص1437.rar
    2 points
  23. استاذنا القدير الله يقدرنا على طلبك رغم انني اعلم اني في عكليات الشرح ضعيف جدا جزاك الله خيرا اخي احمد وبارك الله فيك الله يسلمك اخي وليد اخي ابو ادهم بارك الله فيك وجزاك الله خيرا
    2 points
  24. بالتوفيق يبو محمد ازعجناك بالسؤال هذا ... هههههه بالتوفيق
    2 points
  25. اهلا اخي سعيد .. جندبي .. لقب .. ممكن تناديني ابو محمد ليس سر والله .. وما اعتقد ان هناك اسرار في العمل في قواعد البيانات وبالاخص اكسيس ونحن نستفيد من بعض هنا .. واجبت على التساؤل مرتين انها للاحصاء فقط .. وكما رأيت عدد النماذج والتقارير والاستعلامات الضخمة عندي بالبرنامج فأحب ان اتابع هذه التفاصيل وأكون على اطلاع بها ..
    2 points
  26. أخي العزيز طائع لا تعلم مدى فرحتي بمقدرتك على تكملة الحل بنفسك ... هكذا ستتعلم حاول وافشل ويكفيك شرف المحاولة دائماً نحاااااااااول ولا نستسلم بسهولة وإذا فشلنا فالمنتدى أمامك اطرح ما شئت من موضوعات لتجد الحل .. ولكن حاول أولاً .. واشترك في الموضوعات المختلفة في المنتدى فمن شأن ذلك أن يصقل الموهبة لديكم ويجعلكم قادرين على تقديم الحلول بعد فترة من الزمن تقبل تحياتي
    2 points
  27. السلام عليكم ورحمة الله وبركاته أول ما شفت الموضوع قلت دا موضوع من زماااااااااااااان يا أحمد يا زماااااااااااااااااااان ..بس لما لاقيت مفيش رد بصيت للتوقيت الخاص بالموضوع لاقيته من 10 دقايق ..قلت يمكن أكون لسه ناااااااااايم وبحلم .. بارك الله فيك أخي الحبيب ومعلمي الكبير أحمد يعقوب ... والله زماااااااااااااااان يا أحمد يا زماااااااااااااااااااان ... ومشكورين على المجهود الكبير في تقديم الموضوع يا ماااااااااااااااااان تقبل وافر تقديري واحترامي
    2 points
  28. التقويم السنوى يمكن من خلال المرفق طباعة التقويم السنوى وتقريبا انا عملته حتى عام 2044 يا مين يعيش التقويم السنوي.rar
    2 points
  29. هناك جدول مخفى بقاعدة البيانات به حصر لكل الكائنات الموجودة فيها يمكنك إظهاره من جزء التنقل و يمكنك عد الكائنات الموجودة به ولكل نوع من الكائنات رقم فيمكن عمل استعلام يعد كل نوع حسب الرقم الخاص به
    2 points
  30. ذكرتني بمثال عندي يحسب حجم البيانات داخل قاعدة البيانات حجم البيانات في البرنامج.rar
    2 points
  31. رجاء خاص من الاخوة الكرام يرجى عدم اضافه اى رد على الموضوع لحين الانتهاء من كل الشروحات والسبب فى ذالك والله ما هو غير ان يكون الحلقات كلها متسلسله ورا بعض حتى يسهل لمن يريد المتابعه ان يستفيد منها ويرجى الاكتفاء بالاعجاب فقط أما ان وجد ملاحظة او خطا ما او احد يريد استفسار عن شئ ما بيكتبها بموضوع مستقل وانها ساقوم بالرد عليه تقبلوا منى وافر الاحترام والتقدير ************************************************************************************************************* بسم الله الرحمن الرحيم الاخوه الكرام بعد فترة انقطاع عن تقديم سلسلة علمنى كيف اصطاد بسبب الانشغال من الانتهاء ببرنامج EMA بشكله الجديد وبعد ان انتهيت منه بحمد لله أقدم لكم اليوم بمشيئة الله شروحات عن الفورم Form من البدايه حتى الاحتراف بأذن الله الدرس الاول 1- الدخول الى محرر الاكواد ( Visual Basic ) بالضغط على Alt+ f11 سيظهر معك الصوره التاليه 2- لو نظرنا الى الصوره السابقه سنجد كلمة Insert عليها دائره حمرا قم بالضغط على كلمة Insert ستظهر لك الصوره التاليه 3 - اضغط على UserForm كما هو مبين بالصوره اعلاه سيظهر لك الصوره التاليه 4- فى الصوره السابقه لو نظرنا لها سنجد شريط الادوات كما هو موضح بالصوره التاليه 5-صندوق ادوات التحكم ToolBox كما هو موضح بالصوره التاليه كما هو موضح بالصوره عاليه سوف نكتب نبذه صغيره عن كل عنصر من عناصر التحكم (طبعا الكلام هيكون نظرى وانا شخصيا لا اقتنع بالنظرى ) ولكن هى مجرد نبذه صغيره وبعد ذالك سوف نقوم بسرد كل عنصر فى درس مخصص بشرح وافى وكافى وبالصور والامثله العملية والتطبيقيه بأذن الله تعالى اولا :- المؤشر ( Pointer ) *** استعمال هذة الاداة ليتيح لك الانتقال الى مود الاختيار ما بين عناصر التحكم الموجودة على الفورم لتحريكها او التحكم فى حجمها .. هناك بعض اصدارات من الاكسيل عندما تختار ان تضيف زر مثلا ... يبقى المؤشر على الفورم فى وضع الاضافة/ فكلما ضغطت على الفورم بعد ذلك يضيف زر جديد وهكذا .... والحل عندها الضغط على المؤشر للهروب من هذة الدائرة المفرغة ( المرجع الاستاذ /اسامه البراوى ) ثانيا :- العنوان ( Lable ) *** هى أداه تستخدم لكتابه عنوان ثالثا :- صندوق النص ( Text Box ) *** وهى اداه تسمح للمستخدم بكتابة نص او رقم أو اى شئ بداخلها رابعا:- أداة السرد والحوار ( ComboBox) *** وهى أداه يمكن اضافة لها قائمة محدد يسمح للمستخدم الاختيار منها وهى مثل القائمة المنسدله بالاكسيل خامسا :- صندوق القوائم ( ListBox ) *** وهى اداه تشبه وعاء يحتوى على بيانات يمكن اضافه هذا المحتوى من Text Box او ComboBox ثم ترحيل هذا المحتوى الى شيت الاكسيل أو رفع محتوى من شيت الاكسيل وعرضه بـ ListBox سادسا :- صندوق الفحص (Check Box) *** تستخدم لعمل عدة صناديق فحص واختيار واحد او اكثر منهما سابعا:- زر الاختيار (Option Box ) *** تستخدم هذه الاداه فى عرض عدة بدائل امام المستخدم لاختيار احدهما فقط ثامنا:- زر التبديل (Toggle Button) *** هى اداه تشبه المفتاح الكهربائى له خيارين أما on أو Off ولكن بالاكسيل هذه الاداه لها خيارين أما true وأما false تاسعا:-الاطار (Frame) *** ويستخدم لعمل اطار لمجموعه عناصر عاشرا:- زر الامر (Command Button) *** هو زر يتم من خلال تنفيذ الكثير من الاكواد او التعليمات البرمجيه احدى عشر :- شريط التبويب ( Tab Strip) *** تتيح للمستخدم من عرض ادواته على شكل صفحات عرض اثنى عشر :- شريط الصفحات (Multi Page)*** تتيح للمستخدم من عرض ادواته على شكل صفحات عرض ثلاثة عشر :- شريط الانزلاق (Scroll Bar) *** هى اداه لها شكلان شكل عمودى واخر افقى وهى تشبه بحد كبير الاداه Spin Button اربعة عشر :- زر التدوير ( Spin Button) *** هى اداه تستخدم لزياده قيمة معينه او نقصانها ويتم تحديد قيمة عليا وقيمة سلفه ومقدار هذه القيم خامس عشر :- صوره( Image) *** وهى اداه تتيح للمستخدم من ادراج صوره بداخلها وان شاء الله كما قلت سوف نقوم بشرح كل جزء بدرس خاص **************************************************************************************************** 5- خصائص الفورم ( Properties Window) انظر للصوره التاليه هل يمكن اضافة ادوات تحكم جديدة ؟ نعم بالضغط على الزر الايمن فى اى مكان فاضى او مليان فى التول بوكس سيظهر لك Additional Controls كما هو مبين بالصوره التاليه وعند الضغط على Additional Controls ستجد الصوره التاليه فى الصوره السابقه ستجد على اليسار فى الاسفل Show وتحتها مربع به علامه صح لو قمت بحذف علامة صح من المربع ستجد القائمة على اليمين ظاهر بها كل عناصر التحكم انظر للصور التاليه بعد االه علامه الصح فى الصوره السابقه خامس خيار ضع علامه صح Calendar Control 12.0 ثم اضغط اوك ستجد ان عنصر التحكم Calendar Control 12.0 موجود بصندوق عناصر التحكم كم هو موضح بالصوره فى الصوره السابقه لو نظرت الى صندوق التحكم ستجد ان عنصر Calendar Control 12.0 ظاهر كما هو موضح بالدائره الحمراء الصغيره اضغط على هذه الايقونه ثم اذهب الى الفورم وقم بالرسم التقويم ستجده كما هو محاط بالدائره الاحمراء الكبيره فى الصوره السابقه وبكدا يبقى عرفنا ازاى نضيف عنصر تحكم جديد الى صندوق التحكم والى لقاء اخر بأذن الله فى سلسه علمنى كيف اصطاد تقبلوا تحياتى ************************************************************** اليوم بمشيئة الله هنتكلم عن اول عنصر تحكم وهو اللـ Label هنتناول الموضوع على ثلاث مراحل 1-كيفية انشاء وتصميم الـ Label على الفورم 2-كيفية التعامل والتحكم بخصائص الـ Label من شاشة الخصائص فى مرحلة التصميم 3- كيفية التعامل والتحكم بخصائص الـ Label من شاشة الخصائص فى لغة البرمجه وكتابة الاكواد أولاً :- كيفية انشاء وتصميم الـ Label على الفورم بختصار شديد شاهد الصوره والتبع الخطوات اضغط على العلامه A الموجوده فى التول بوكس واذهب بالماوس الى الفورم وقم برسم الـ Label بالابعاد التى تريدها من عرض وارتفاع 2-كيفية التعامل والتحكم بخصائص الـ Label من شاشة الخصائص فى مرحلة التصميم لو نظرنا للصورة السابقه ستجد خصائص الفورم هى رقم 3 على يسار الصورة فعند تحديد الـ Label بالماوس ( يعنى الوقوف عليه وتحديده ) ستجد خصائصه على اليسار كما هو بالصوره عاليه على اليسار وهذه هى الخصائص اللى هنقوم بشرحها اليوم انا رقمت كل الخصائص كما هو مبين بالصوره و هنمسك اهم الخصائص والاكثر شيوعا فى الاستخدام ونبدا نشرح بالتفصيل 1-الخاصيه ( Name) :- Name هو اسم الـ Label المستخدم فى الاكواد عند انشاء اى Label يقوم الفيجوال بيسك بأعطاء اسم افتراضى له Label 1 اذا قمنا بعمل Label ثانى فأن الفيجوال بيسك يعطى له اسم افتراضى Label 2 وانا افضل عدم تغيير اسماء Label الافتراضيه التى عرفها الفيجوال بيسك فعندما نريد كتابه كود خاص بالعنصر Label 1 فى حدث Click على سبيل المثال يكون بداية الكود كالتالى Private Sub Label1_Click() فأذا قمنا بتغيير اسم Label 1 كما عرفه الفيجوال بيسك الى اسم اخر من خاصيه Name وليكن مثلا غيرناه الى (Nomber ) فهنا عند كتابة كود فى حدث Click يكون كالتالى Private Sub Nomber_Click() ففى حال تغيير الاسم وعدم التزامك بالاسم داخل محرر الاكواد وكتابة كود يحدث Error لذالك انصح باستخدام الاسماء الافتراضيه للعناصر كما عرفها الفيجوال بيسك ************************************************************************************************************ 3 - الخاصيه Auto size :- هى خاصيه تحمل خيارين true و False عن اختيارك true فأن عرض الـ Label سوف يكون تلقائى حسب محتوى النص بداخله وعند اختيارك False فأنه يتم توقف خاصيه عمل عرض تلقائى حسب طول النص للـ Label وبالتالى لابد من تحديد العرض اثناء التصميم او من خلال البرمجه كما سنرى لاحقا *********************************************************************************************************** 4- الخاصيه ( Back Color):- هذه الخاصيه تتيح للمستخدم تغيير لون خلفية للـ Label على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك أنظر الصوره التاليه 5- الخاصيه ( Back Style):- هذه الخاصيه تحمل خيارين هما Fm Back Style Opague - 0 ( عند الاختيار سيتوقف عمل الخاصيه Back Color حتى ولو كان تم اختيار لون بها وليكن خلفية حمراء سيظهر الـ Label بخلفية ساده ) Fm Back Style TransParent - 1 ( عند الاختيار سيتم عمل الخاصيه Back Color وهيكون الـ Label بخلفية حسب الاختيارك من Back Color ) لذالك هذه الخاصيه مرتبطه بالخاصيه Back Color ************************************************************************************************************************** 6- الخاصيه ( Border Color):- هذه الخاصيه تتيح للمستخدم تغيير لون حدود اللـ Label على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك 7- الخاصيه ( Border Style):- هذه الخاصيه تحمل خيارين هما Fm BorderStyle none - 0 ( عند الاختيار سيتوقف عمل الخاصيه Border Color حتى ولو كان تم اختيار لون بها وليكن لون حد أحمر سيظهر الـ Label بلون حد ساده ) Fm BorderStyle Single - 1 ( عند الاختيار سيتم عمل الخاصيه Border Color وهيكون حدود الـ Label بخلفية حسب الاختيارك من Border Color) لذالك هذه الخاصيه مرتبطه بالخاصيه Border Color مثال لو اختارنا لون خلفيه للـ Label لون رمادى ولون حدود احمر شاهد الصورة ولاحظ ان الخاصيه Back Color اختيارها 1 وايضا الخاصيه Border Color اختيارها 1 شاهد الصوره ******************************************************************************************************************************************** 8- الخاصيه ( Caption):- هذه الخاصيه تتيح للمستخدم كتابة نص او رقم او اى شئ ليكون هو عنوان الـ Label الظاهر على الفورم وهى من اهم الخصائص على الاطلاق ان لم يكن الوحيده لان الليبل ما هو الا عنوان لعنصر على الفورم والخاصيه Caption هى التى يكتب بها العنوان المراد مثال لو كتبنا بسم الله الرحمن الرحيم ستجد اللـ Label على الفورم عنوانه " بسم الله الرحمن الرحيم شاهد الصوره ******************************************************************************************************************** 9- الخاصيه ( Control Tip Text ):- هذه الخاصيه عند كتابة اى شئ بداخلها فأنها تعرض النص كتلميح عند وقوف الماوس على الـ Label ****************************************************************************************************** 11- الخاصيه ( Font ):- وهذه الخاصيه تتيح للمستخدم التحكم فى نوع وسماكة وحجم الخط للنص داخل اللـ Label الافتراضى فى الفيجوال بيسك نوع الخط هو ( Tahoma ) والسماكه هى (Regular) وحجم الخط هو ( 8) يوجد على يسار الخاصيه مربع صغير به ثلاث نقاط عند الضغط عليه ستجد شاشة الFont كما هو بالصوره عاليه اختر منها نوع وسماكة وحجم الخط للنص ثم اضغط اوك ************************************************************************************************ 12- الخاصيه ( Fore Color ):- وهذه الخاصيه تتيح للمستخدم التحكم فى اختيار لون الخط للنص داخل الـ Label مثال لو اخترنا لون الاخط اصفر شاهد الصورة ************************************************************************************************************ 13- الخاصيه ( Height ) وهذه الخاصيه تتيح للمستخدم التحكم فى ارتفاع الـ Label فيمكنك أما من خلال التصميم السحب بالماوس للاسفل لتحديد الارتفاع للـ Label أو كتابة رقم للارتفاع فى الخاصيه Height **************************************************************************************************************************** 15- الخاصيه (Left) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ Label عن الضلع الايسر للفورم 25-الخاصيه (Top) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ Label عن الضلع الاعلى للفورم مثال لو وضعنا قيمة Left 150 *** وقيمة Top 100 ستجد الصوره التالية ************************************************************************************************************************************************* 27-الخاصيه ( Width) هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ Label كما يمكن ايضا التحكم فى عرض الـ Label من خلال التصميم على الفورم بالماوس ************************************************************************************************* 24-الخاصيه (Text Align) :- وهذه الخاصيه تتيح للمستخدم التحكم فى اتجاه النص ( محاذاه النص ) داخل الـ Label هل يكون يميناً أو يساراً أو وسط Label لو ذهبت للخصائص وعند الخاصيه Text Align ستجد سهم اضغط عليه ستجد 3 خيارات امامك وهى fm Text Align Left -1 عند الاختيار ستجد ان اتجاه النص داخل Label يبداء من اليسار fm Text Align Center -2 عند الاختيار ستجد ان اتجاه النص داخل Label فى المنتصف fm Text Align Right -3 عند الاختيار ستجد ان اتجاه النص داخل Label يبداء من اليمين مثال عند اختيار رقم 2 شاهد الصورة ************************************************************************************************************************** 26-الخاصيه (Visible ) وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور Label عند عرض الفورم وعند الضغط على السهم المجاور لها ستجد لها خيارين True و False عندد اختيار True سوف يظهر الـ Label على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك ) وعند اختيار False ٍسوف يختفى الـ Label على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم *********************************************************************************************************** 20- الخاصيه ( ٍِSpecial Effect ) هذه الخاصيه من الخصائص الهامه للـ Label وهى تعطى اشكال مبهره ومميزه للـ Label ولها خمس اشكال شاهد الصوره التاليه *********************************************************************************************************** 3- كيفية التعامل والتحكم بخصائص الـ Label من شاشة الخصائص فى لغة البرمجه وكتابة الاكواد هنجرب بمثال عملى لكيفية التحكم بخصائص اللـ Label فى لغة البرمجه وهنوضع هذه الاكواد فى حدث فتح الفورم اضغط دبل كليك على الفورم وهنعمل كود فى حدث فتح الفورم اتبع الصوره التالية فبعد تنفيذ الخطوات كما هو موضح بالصوره السابقه ستجد التالى شاهد الصوره فى الصوره السابقه المربع الاحمر هو مكان كتابه الاكواد أول شئ عايزين نجعل Label Back color لونه اصفر هنكتب التالى label1.b مجرد كتابة ليبل 1 وبعدها نقطه ( تكتب من خلال جعل لغه الكيبورد انجليزى ثم الضغط على حرف ز ) ستظهر لك قائمة عند كتابة حرف B سوف يتم فلترة القائمه طبقا للحرف المكتوب شاهد الصوره ثم نقوم باختيار BackColor Label1.BackColor = 65535 كتبنا اسم الـ Label1 وبعدها (.) ثم اسم الخاصيه ثم (=) ثم النتيجة المطلوبه 255 تشير الى جعل خلفية الـLabel لونه اصفر اليك صوره بارقام الالوان فى الفيجوال بيسك ------------------------------------------------------------------------------------------------------------------------------------------------------ ولو عايزين نعمل نص للـ Label هيكون كالتالى Label1.Caption = "بسم الله الرحمن الرحيم" لو لاحظنا جعلنا النص بين علامتى تنصيص وتكتب من خلال (shift+حرف ط ) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نحدد حجم الخط هيكون كالتالى Label1.Font = 20 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولوحابين نحدد سماكة الخط هيكون كالتالى بعد يساوى ستجد خيارين أما True أو False على سبيل المثال هنختار True لجعل سماكه الخط ثخين Label1.Font.Bold = True ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نجعل تاثر للـLabel بشكل خاص ممكن كالتالى Label1.SpecialEffect = fmSpecialEffectRaised ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نخلى النص داخل اللـLabel فى المنتصف كالتالى (تحديد محازاة النص داخل الـ Label ) Label1.TextAlign = fmTextAlignCenter ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولتحديد ارتفاع الـlabel كالتالى Label1.Height = 50 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- ولو حابين نحدد عرض الـ label كالتالى Label1.Width = 150 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- هذا هو الكود بشكله النهائى Private Sub UserForm_Initialize() Label1.BackColor = 65535 Label1.Caption = "بسم الله الرحمن الرحيم" Label1.Font = 20 Label1.Font.Bold = True Label1.SpecialEffect = fmSpecialEffectRaised Label1.TextAlign = fmTextAlignCenter Label1.Height = 50 Label1.Width = 150 End Sub اضغط Run أو اضغط F5 شاهد الفورم وشوف الـ label ازاى شكله ستجده كالتالى هل يوجد طريقه اخرى لكتابه الكود بشكل ابسط نعم يوجد طريقه اخرى من خلال استخدام With شاهد الكود كالتالى Private Sub UserForm_Initialize() With Label1 .BackColor = 65535 .Caption = "بسم الله الرحمن الرحيم" .Font = 20 .Font.Bold = True .SpecialEffect = fmSpecialEffectRaised .TextAlign = fmTextAlignCenter .Height = 50 .Width = 150 End With End Sub هنا استخدمنا with وطبعا لازم نقفل with ب End with ثم تكتب ( . ) وبعدها اسم الخاصيه ثم (=) جرب بنفسك وحاول اكتب الكود واى استفسار انا تحت امرك والى لقاء اخر مع درس جديد من دروس علمنى كيف اصطاد ( TextBox) انتظرونا تقبلوا تحياتى ********************************************* بسم الله الرحمن الرحيم الاخوه الكرام اليوم موعدنا بمشئية الله عن شرح TextBox كما قلنا من قبل ان TextBox هو صندوق ادخال يتم ادخال فيه نص او رقم من المستخدم اثناء العمل على الفورم أن شاء الله هيتم تناول الموضوع على اربع مراحل 1- كيفية انشاء TextBox على الفورم اثناء عملية التصميم 2- التعرف على خصائص الفورم من شاشة الخصائص اثناء عملية التصميم 3-وقت تنفيذ الكود الخاص بالـ TextBox 4-التعامل مع الـ TextBox فى لغة البرمجه 5-كيفية عمل تنسيقات للقيم المدخله نبدأ بسم الله أولا :- كيفية انشاء TextBox على الفورم اثناء عملية التصميم من صندوق التحكم أضغط على الايقونه المشار لها بحرف ِabl ثم اذهب الى الفورم وقم برسم TextBoxعلى الفورم بالابعاد اللى المناسبه لك من عرض وارتفاع شاهد الصوره التاليه توضح لك الامر فى الصوره السابقه يوجد Label1 و textBox1 هذه هى العناصر اللى موجوده على الفورم لو حابين نعمل Label و textBox ممكن يكون من خلال الطريقه السابقه وهى اضغط على العنصر المراد اضافته الى الفورم من صندوق التحكم ثم قم برسمه على الفورم وممكن من خلال الوقوف على العنصر يعنى تحديده ثم كليك يمين ستظهر قائمه اختر منها Copy دلوقتى انا عايز اعمل Label و textBox قم بتحديد Label1 واضغط على زر Ctrl من الكيبورد واستمر بالضغط عليه ثم بالماوس حدد textBox1 ثم اضغط كليك يمين بالماوس ستظهر قائمه اختر Copy ثم اذهب الى اى مكان فاضى فى الفورم واعمل كليك يمين واختر Paste او من خلال الكيبورد الضغط على زر Ctrl +زر حرف V ستجد انه تم انشاء Label2 و textBox2 وطبعا هيكون بنفس تنسيق خصائص Label1 و textBox1 شاهد الصوره --------------------------------------------------------------------------------------------------------------------------------------------- ثانياً :- التعرف على خصائص الـ TextBox من شاشة الخصائص اثناء عملية التصميم شاهد الصوره التالية لخصائص الـ TextBox هنمسك اهم الخصائص والاكثر شيوعا فى الاستخدام ونبدا نشرح بالتفصيل الخاصيه (Name) :- Name هو اسم الـ TextBox المستخدم فى الاكواد وعند انشاء اى TextBox يقوم الفيجوال بيسك بأعطاء اسم افتراضى له TextBox1 واذا قمنا بعمل TextBox ثانى فأن الفيجوال بيسك يعطى له اسم افتراضى TextBox2 وانا افضل عدم تغيير اسماء TextBox الافتراضيه التى عرفها الفيجوال بيسك فعندما نريد كتابه كود خاص بالعنصر TextBox1 فى حدث Change على سبيل المثال يكون بداية الكود كالتالى Private Sub TextBox1_Change() فأذا قمنا بتغيير اسم TextBox1 كما عرفه الفيجوال بيسك الى اسم اخر من خاصيه Name وليكن مثلا غيرناه الى (Nomber ) فهنا عند كتابة كود فى حدث Change يكون كالتالى Private Sub Nomber_Change() ففى حال تغيير الاسم وعدم التزامك بالاسم داخل محرر الاكواد وكتابة كود يحدث Error ------------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Back Color) هذه الخاصيه تتيح للمستخدم تغيير لون خلفية TextBox1 على اليسار يوجد سهم اضغط عليه ستظهر لك قائمة يمكنك من خلالها اختيار اللون المناسب كما يحلو لك أنظر الصوره التاليه --------------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Control Source) وهذه الخاصيه تتيح للمستخدم تحديد خلية محدده تظهر محتواها فى TextBox1 عند عرض الفورم والعكس صحيح بمعنى ان اى ادخال فى TextBox1 يظهر مباشره فى الخليه التى قمت بكتابتها فى الخاصيه Control Source فعلى سبيل المثال لو كتبنا ان Control Source هو محتوى الخليه A1 فعند عرض الفورم ستجد ان محتوى الخليه ظاهر فى الـ TextBox1 ولو قمت بتعديل المحتوى الموجود فى TextBox1 وضغط انتر سوف يتغير مباشره فى الخليه A1 الخلاصه انه يجعل خلية محدده مربوطه بالـ TextBox1 شاهد الصوره --------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Enabled ) هذه الخاصيه تحمل خيارين true و False عند اختيار true سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار False لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 شاهد الصوره عند اختيار False ---------------------------------------------------------------------------------------------------------------------------------------- الخاصيه (Font) :- وهذه الخاصيه تتيح للمستخدم التحكم فى نوع وسماكة وحجم الخط للنص داخل الـ TextBox1 الافتراضى فى الفيجوال بيسك نوع الخط هو ( Tahoma ) والسماكه هى (Regular) وحجم الخط هو ( 8) الخاصيه (Font Color) :- وهذه الخاصيه تتيح للمستخدم التحكم فى اختيار لون الخط للنص داخل الـ TextBox1 مثال عند اختيار نوع الخط (Traditional Arabic) والسماكه ( Bold ) وحجم الخط (18) شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Height ) وهذه الخاصيه تتيح للمستخدم التحكم فى ارتفاع الـ TextBox1 فيمكنك أما من خلال التصميم السحب بالماوس للاسفل لتحديد الارتفاع للـ TextBox1 أو كتابة رقم للارتفاع فى الخاصيه Height ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Width) هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ TextBox1 كما يمكن ايضا التحكم فى عرض الـ TextBox1 من خلال التصميم على الفورم بالماوس ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه (Left) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ TextBox1 عن الضلع الايسر للفورم الخاصيه (Top) :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ TextBox1 عن الضلع الاعلى للفورم مثال لو وضعنا قيمة Left 126 *** وقيمة Top 90 ستجد الصوره التالية ----------------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Locked ) هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار True لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 يعنى هيكون فى حمايه على TextBox1 ---------------------------------------------------------------------------------------------------------------------------------------- الخاصيه ( Maxlenght ) هذه الخاصيه يمكن من خلالها التحكم فى عدد الاحرف او الارقام المدخله بالـ TextBox1 لو حضرتك عايز تجبر المستخدم على ادخال وليكن عدد 8 أحرف فقط اكتب فى خاصيه Maxlenght رقم 8 فلو حب المستخدم يكتب ( محمد خالد ) فأنه لا يستطيع الا كتابة (محمد خال) لماذا لانه تم تحديد عدد الادخال 8 فقط واحد هيقولى محمد خالد عددها 8 حروف هقوله ان الفيجول هيقوم بعد الفاصله اللى بين محمد وبين خالد وبالتالى (محمد 4 حروف + 1 فاصله + خال 3 حروف كدا =8) شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Multiline ) هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على سطر واحد فقط وعند اختيار True سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على عدة اسطر ويجب مراعاة تعديل ارتفاع TextBox1 ليظهر اكثر من سطر شاهد الصوره ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( Password char ) هذه الخاصيه يمكن من خلالها التحكم فى طريقة أظهار القيم المدخله بالـ TextBox1 لو حضرتك عايز تجعل القيم المدخله فى TextBox1 على شكل ( * ) مثلا شاهد الصوره التالية ------------------------------------------------------------------------------------------------------------------------------------------ الخاصيه ( ScrollBars ) هذه الخاصيه تحمل اربع خيارات ويبدأ العدد من 0 الى 3 0- FMScrollBarsNone ( هذا يعنى الغاء خاصيه ScrollBars ) 1-FMScrollBarsHorizontal ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أوفقى ) 2-FMScrollBarsVertical ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل رأسى ) 3-FMScrollBarsBoth ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أفقى و رأسى مع بعض ) *** الاختيار رقم 1 وهو عمل ScrollBars للـ TextBox1 بشكل أوفقى لابد من جعل خاصيه Multiline تكون False يعنى يكون الكتابه على سطر واحد وبكدا يعمل سكرول بار افقى للوصول الى اخر السطر **** الاختيار رقم 2 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى لابد من جعل خاصيه Multiline تكون True يعنى يكون الكتابه على عدة أسطر وبكدا يعمل سكرول بار رأسى للوصول الى اخر السطر **** الاختيار رقم 3 وهو عمل ScrollBars للـ TextBox1 بشكل رأسى واخر افقى بصراحه حاولت استخدمه لكن لم يظهر معى بشكل افقى وراسى وتفسير ذالك هى الخاصيه Multiline لانها تحمل خيارين اما الادخال يكون على سطر واحد وبالتالى فان الاسكرول بار الرأسى لا يوجد له فائده وأما الادخال على عدة اسطر متتاليه وبالتالى ان الاسكرول بار الافقى لي له فائده هذا والله اعلم ( مش عايز افتى فى شئ لا اعلمه واترك الامر للخبراء ) شاهد الصوره -------------------------------------------------------------------------------------------------------------------------- الخاصيه (Visible ) وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور TextBox1 عند عرض الفورم وعند الضغط على السهم المجاور لها ستجد لها خيارين True و False عندد اختيار True سوف يظهر الـ TextBox1 على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك ) وعند اختيار False ٍسوف يختفى الـ TextBox1 على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم -------------------------------------------------------------------------------------------------------------------------- الخاصيه (Tab index ) وهذه الخاصيه تتيح للمستخدم ترتيب التنقل بين الازرار على الفورم بعد الخروج منها من خلال الزر انتر ويمكن تعطيل هذه الخاصيه من خلال استخدام الخاصيه Tab stop = True الخاصيه (Tab Stop ) وهذه الخاصيه تحمل خيارين True و False عندد اختيار True يتم تعطيل خاصيه Tab index وعند اختيار False ٍسوف تفعل خاصيه Tab index للتنقل بين الازرار حسب الترتيب الذى ترغب فيه ------------------------------------------------------------------------------------------------ الخاصيه (Text Align) :- وهذه الخاصيه تتيح للمستخدم التحكم فى اتجاه بداية النص داخل الـ TextBox1 هل يكون يميناً أو يساراً أو وسط TextBox1 لو ذهبت للخصائص وعند الخاصيه Text Align ستجد سهم اضغط عليه ستجد 3 خيارات امامك وهى fm Text Align Left -1 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليسار fm Text Align Center -2 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 فى المنتصف fm Text Align Right -3 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليمين ------------------------------------------------------------------------------------------------------------------------- رقم 20 الخاصيه ( ٍِSpecial Effect ) هذه الخاصيه من الخصائص الهامه للـ TextBox1 وهى تعطى اشكال مبهره ومميزه للـ TextBox1 ولها خمس اشكال شاهد الصوره التاليه كما تشاهدون فى الصوره على اليسار دائره حمرا وبداخلها سهم يمكنك الضغط على السهم سيظهر لك قائمة الخيارات للاشكال اخترمنها الشكل المناسب لك جرب كل الاشكال واطلع علىها واختر ما يناسب زوقك ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- كدا الحمد لله انتهينا من المحور الاول وهو عملية التصميم ورسم TextBox وايضا انتهينا من المحور الثانى وهو اهم خصائص الـ TextBox ان شاء الله المره القادمه نتكلم عن المحور الثالث وهو وقت تنفيذ الكود الخاص بـ TextBox ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى ********************************************* ثالثاُ:- وقت تنفيذ الكود الخاص بالـ TextBox قبل أن نتحدث عن وقت تنفيذ الكود لازم نعرف أولا أزاى بيكون كتابة ألاعلان عن الكود للـ TextBox Private Sub TextBox1_Change() هنا يتم كتابة الكود المراد تنفيذه End Sub السطر الاول هو بداية الاعلان عن الكود فنقوم بكتابة Private Sub ستجد لونها بالكود أزرق ( وهو بداية لاى كود خاص لأى عنصر تحكم داخل الفورم ) ثم نقوم بكتابة اسم العنصر المراد عمل الكود له وهو بمثالنا TextBox1 ثم نقوم بكتابة _ ( تكتب من خلال الضغط على Shift+زر الطرح الموجود بالاعلى بجوار زر + ) ثم نقوم بكتابة وقت تنفيذ الكود (اللى هو موضوعنا اليوم) ثم كتابة () قوسين بهذا الشكل وبمجرد الضغط انتر ستجد الكود عمل سطر تانى فيه End sub يوجد طريقه اخرى وهى اتبع الصوره التالية توضح لك قم بالضغط على اى مكان فاضى بالفورم وادخل لمحرر الاكواد الخاص بالفورم دلوقتى هنتكلم عن أهم طرق وقت تنفيذ الكود واكثرها شيوعا فى الاستخدام 1- Afterupdate :- هنا يتم تنفيذ الكود بمجرد الانتهاء من الادخال فى TextBox1 والانتقال الى اى عنصر اخر ( وهو يشبه كثير طريقة Exit) 2-EXit :- هنا يتم تنفيذ الكود بمجرد الخروج من TextBox1 والانتقال الى اى عنصر اخر ( يشبه كثير طريقه Afterupdate ) 3-Change :- هنا يتم تنفيذ الكود عند حدوث اى تغيير فى TextBox1 4-DblClick :- هنا يتم تنفيذ الكود عند الضغط دبل كليك بالماوس داخل TextBox1 5-Enter :- هنا يتم تنفيذ الكود بمجرد وضع مؤشر الماوس داخل صندوق TextBox1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- كدا الحمد لله انتهينا من المحور الثالث وقت تنفيذ الكود الخاص بالـ TextBox ان شاء الله المره القادمه نتكلم عن المحور الرابع وهو التعامل مع TextBox فى لغة البرمجه ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى رابعاً:- التعامل مع خصائص الـ TextBox فى لغة البرمجه فى الدرس قبل السابق عرفنا ازاى نتحكم فى خصائص الفورم من شاشة الخصائص اثناء عملية التصميم فماذا لو حبينا نتحكم فى خصائص الفورم ولكن من خلال الاكواد وليس من شاشة الخصائص فى مرحله التصميم هنبدأ على طول بمثال عملى ونشرح عليه اضغط دبل كليك على اى مكان فاضى فى الفورم وهندخل محرر اكواد الفورم ونعمل كود فى حدث فتح الفورم اتبع الصوره فى المكان المظلل باللون الاحمر هنا موضوع كتابه الاكواد 1-خاصيه BackColor :- الرقم 15849925 لجعل خلفية التكست بوكس لونها سماوى فاتح ( راجع ارقام الالوان فى الدروس الخاصه بالـ Label ) TextBox1.BackColor = 15849925 **************************************************************************************************************************************** 2-خاصيه Enabled :- TextBox1.Enabled = True أو TextBox1.Enabled = False هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار True لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 يعنى هيكون فى حمايه على TextBox1 *************************************************************************************************************************** 3-خاصيه Height :- للتحكم بارتفاع التكست بوكس وليكن جعل الارتفاع 35 TextBox1.Height = 35 ************************************************************************************************************************************ 4-خاصيه Left :- للتحكم فى بعد التكست بوكس عن الضلع الايسر للفورم وليكن جعل البعد 80 TextBox1.Left = 80 ********************************************************************************************************************************************* 5-خاصيه Locked :- هذه الخاصيه تحمل خيارين true و False TextBox1.Locked = False أو TextBox1.Locked = True عند اختيار False سوف يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 وعند اختيار True لا يكون بأمكان المستخدم ادخال او تعديل محتوى TextBox1 يعنى هيكون فى حمايه على TextBox1 *********************************************************************************************************************** 6-خاصيه MaXLength :- هذه الخاصيه يمكن من خلالها التحكم فى عدد الاحرف او الارقام المدخله بالـ TextBox1 لو حضرتك عايز تجبر المستخدم على ادخال وليكن عدد 8 أحرف فقط اكتب فى خاصيه Maxlenght رقم 8 فلو حب المستخدم يكتب ( محمد خالد ) فأنه لا يستطيع الا كتابة (محمد خال) لماذا لانه تم تحديد عدد الادخال 8 فقط واحد هيقولى محمد خالد عددها 8 حروف هقوله ان الفيجول هيقوم بعد الفاصله اللى بين محمد وبين خالد وبالتالى (محمد 4 حروف + 1 فاصله + خال 3 حروف كدا =8) TextBox1.MaxLength = 8 **************************************************************************************************************************** 7-خاصيه Multline :- هذه الخاصيه تحمل خيارين true و False عند اختيار False سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على سطر واحد فقط وعند اختيار True سوف يكون عرض المحتوى اللى بيتم ادخاله او تعديل فى محتوى TextBox1 على عدة اسطر ويجب مراعاة تعديل ارتفاع TextBox1 ليظهر اكثر من سطر TextBox1.MultiLine = False أو TextBox1.MultiLine = True ******************************************************************************************************** 8-خاصيه Passwordchar :- هذه الخاصيه يمكن من خلالها التحكم فى طريقة أظهار القيم المدخله بالـ TextBox1 لو حضرتك عايز تجعل القيم المدخله فى TextBox1 على شكل ( * ) مثلا شاهد الصوره التالية نلاحظ بالكود تم كتابة العلامه * بين اقواس تنصيص " * " ( وهى تكتب من خلال shift+حرف ط ) TextBox1.PasswordChar = "*" **************************************************************************************************************************** 9-خاصيه ScorollBars :- هذه الخاصيه تحمل اربع خيارات ويبدأ العدد من 0 الى 3 0- FMScrollBarsNone ( هذا يعنى الغاء خاصيه ScrollBars ) شاهد الكود التالى -- بمجرد كتابة = ستجد قائمة تظهر لك بالاربع خيارات TextBox1.ScrollBars = fmScrollBarsNone 1-FMScrollBarsHorizontal ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أوفقى ) TextBox1.ScrollBars = fmScrollBarsHorizontal 2-FMScrollBarsVertical ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل رأسى ) TextBox1.ScrollBars = fmScrollBarsVertical 3-FMScrollBarsBoth ( هذا يعنى عمل ScrollBars للـ TextBox1 بشكل أفقى و رأسى مع بعض ) TextBox1.ScrollBars = fmScrollBarsBoth *********************************************************************************************************************** 10-خاصيه Visible :- وهذه الخاصيه تتيح للمستخدم التحكم فى ظهور او عدم ظهور TextBox1 عند عرض الفورم عندد اختيار True سوف يظهر الـ TextBox1 على الفورم عند فتحه ( وهذا هو الخيار الافتراضى من الفيجوال بيسك ) TextBox1.Visible = True وعند اختيار False ٍسوف يختفى الـ TextBox1 على الفورم عند فتحه يعنى هيكون غير ظاهر ومخفى لا يراه المستخدم TextBox1.Visible = False *********************************************************************************************************************** 11-خاصيه Top :- وهذه الخاصيه تتيح للمستخدم التحكم فى بعد الـ TextBox1 عن الضلع الاعلى للفورم TextBox1.Top = 90 ************************************************************************************************************************************ 12-خاصيه Width :- هذه الخاصيه تتيح للمستخدم التحكم فى عرض الـ TextBox1 لو فرضنا نريد جعل العرض 100 TextBox1.Width = 100 ******************************************************************************************************************************** 13-خاصيه Text Align :- وهذه الخاصيه تتيح للمستخدم التحكم فى اتجاه بداية النص داخل الـ TextBox1 هل يكون يميناً أو يساراً أو وسط TextBox1 بمجرد كتابة = ستجد الفيجوال بيسك يعرض لك قائمة بها 3 خيارات fm Text Align Left -1 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليسار TextBox1.TextAlign = fmTextAlignLeft fm Text Align Center -2 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 فى المنتصف TextBox1.TextAlign = fmTextAlignCenter fm Text Align Right -3 عند الاختيار ستجد ان اتجاه النص داخل TextBox1 يبداء من اليمين TextBox1.TextAlign = fmTextAlignRight **************************************************************************************************************************** 14-خاصيه Special Effect :- هذه الخاصيه من الخصائص الهامه للـ TextBox1 وهى تعطى اشكال مبهره ومميزه للـ TextBox1 ولها خمس اشكال بمجرد كتابة = ستجد الفيجوال بيسك يعرض لك قائمه بها 5 خيارات على سبيل المثال منها TextBox1.SpecialEffect = fmSpecialEffectBump جرب كل الخيارات واختار منها ما يناسب زوقك ************************************************************************************************************************************** الكود بشكله النهائى هيكون كدا Private Sub UserForm_Initialize() TextBox1.BackColor = 15849925 TextBox1.Enabled = True TextBox1.Height = 35 TextBox1.Left = 80 TextBox1.Locked = False TextBox1.MaxLength = 8 TextBox1.MultiLine = True TextBox1.PasswordChar = "*" TextBox1.ScrollBars = fmScrollBarsBoth TextBox1.Visible = True TextBox1.Top = 90 TextBox1.Width = 100 TextBox1.TextAlign = fmTextAlignRight TextBox1.SpecialEffect = fmSpecialEffectBump End Sub *************************************************************************************************************** كدا الحمد لله انتهينا من المحور الرابع وهو التعامل مه خصائص ال TextBox فى لغة البرمجه ان شاء الله المره القادمه نتكلم عن المحور الخامس والاخير وهو كيفية عمل تنسيقات للقيم المدخله بـ TextBox ارجوا من الله ان اكون وفقت بالشرح واى استفسار انا تحت امر الجميع تقبلوا تحياتى
    1 point
  32. اخوانى الكرام سلام الله عليكم ورحمة الله وبركاته اسعد الله اوقاتكم الموضوع كان موجود لأخى الفاضل ياسر خليل " موضوع الاسبوع السابق " لكن يبدو ان الموضوع لبس طاقية الاخفى أرجو معرفة افضل طريقة بالاكواد لسحب الصور من الاكسل ولو كانت علامه مائيه
    1 point
  33. وعليكم السلام و رحمة الله و بركاته ... نبدأ بسم الله : - بشكل عام هذا البرنامج خاص باي نوع من المؤسسات ( قطاع خاص ام عام ) لان ذلك يفرق ... - هل نحن بصدد عمل برنامج كامل و جاهز للعمل عليه من قبل اي احد ... ام مجرد افكار ... و الي يريد يعمل برنامج مشابه يستعين بهذا البرنامج ... و للحديث بقية ...
    1 point
  34. السّلام عليكم و رحمة الله و بركاته لم أفهم بالضبط أخي الكريم " محمّد عبد السّلام " .. القصد ممّا تريد عمله .. مع ذلك جرّب أخي وضع هذا الكود ..لعل و عسى يفي بالغرض إحتراماتي Private Sub TextFind_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then ListFind.SetFocus End If End Sub
    1 point
  35. فعلا كلامك مظبوط اخى ابو البراء المشكله كانت فى الملف الخاص بى لكن عند تجربة ملف آخر نجح الأمر
    1 point
  36. ما تنساش ما قلته لك ان الكود يجب تشفيره بحيث لا يمكن الدحول اليه الا من خلال باسوورد
    1 point
  37. يا سلاااااااااام عليك يا أخي سليم على أساس إنه مش هيقدر يفهم الكود ..نفس المشكلة ..حتى لو لم يقم بحذف الخلية XFD1 .. هيلغي سطر الطباعة وبس If Sheets("sheet1").Range("xfd1").Value = "D'ont print" Then Cancel = True لو شال دا ايه اللي هيحصل !! .. حتى لو لم يقترب من الخلية XFD1 .. أعتقد أن اي حل بالأكواد لن يحل المشكلة بشكل نهائي ..!! لأن الأكواد قابلة دائماً للكسر وللتدمير أو على الأقل قابلة لأن تكون غير قابلة للتنفيذ إذا لم يمكن الماكرو ..!
    1 point
  38. ضع هذا الماكرو Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True End Sub اعتذر اخي احمد لم ار مشاركتك في هذا الموضوع الا بعد تحميل مشاركتي هذه
    1 point
  39. بارك الله فيك استاذنا / احمدزمان
    1 point
  40. اخي محمد ممكن تحمل اخر اصدار من الاوفيس و تجرب تفتح ، قبل ده لازم تروح على خيارات المجلد و تعمل اظهار لخيارات الملفات المخفية و ملفات النظام ، حتى تتأكد من جميع ملفاتك ، في كمان برامج لاستعادة جميع ملفات الاكسل ، بس قبل ده لازم تجرب الخطوتين ، إظهار و تحميل ان شاء الله ترجع ملفاتك كاملة
    1 point
  41. تأكد من امتداد ملفات الاكسيل كما فى الصورة 'My Computer'. Browse 'Tools >> Folder Options >> File Types' او جرب هذا البرنامج من هنا
    1 point
  42. احذفه لوسمحت حتى لا يضر اح ياغالى ادخل على السى وباعدين ويندوز وباعدين على فولدر سيستم ٣٢ قم باءظهار الملفات المخفيه ستجد ملف حروفه غريبه ومالوش معنى ادخل عليه بكليك يمين كاكسبلور ان شاء الله تلاقى ملفاتك بالتوفيق متنساس تحذف مرفق الفيرس اللى انت حملته ده
    1 point
  43. اقصد بالنشر ان القاعدة اصحبحت accde او اي تنسيق غير قابل للتعديل اذا كان فيه طريقة استاذ محمد اتمنى مثال لأني جربت مره احذف كائنات من القاعدة ولم اتمكن من ذلك . ما اعرفه انه لايمكن التعديل او الحذف . شكرا مرة أخرى .
    1 point
  44. نعم كما قلت بالضبط بنفس الفكرة شكرا استاذى المبجل ياسر لقد غيرت كما نصحتنى ونجحت الفكرة وتم العمل جزاك الله خيرا
    1 point
  45. السلام عليكم عشنا أياماً جميلة استمتعنا واستفدنا من مصطبة أخينا الحبيب ياسر العربي فهل ستتكرر مثل هذه الأيام الجميلة أم أنها ولت إلى غير رجعة... حنين وشوق لأيام خلت...دياركم عامرة أخي الحبيب ياسر أبو أسيل وكذلك أخونا الحبيب الصقر الذي قلت مشاركاته بعد الترقية ثم الرجوع عنها ....سبحان الله والسلام عليكم
    1 point
  46. screentogif اتفضل هذا هو رابط موقع البرنامج ورابط تحميل البرنامج https://screentogif.codeplex.com/ https://screentogif.codeplex.com/downloads/get/1554964 واسألك الدعاء للاستاذ الجليل jjafferr فهو من دلنى عليه
    1 point
  47. السلام عليكم ورحمة الله وبركاته أخي الحبيب صلاح "أصلح الله بالك وجعلك من الصالحين المصلحين" آمين جزاكم الله خيراً على هذه المشاركة الطيبة التي أرجو أن تزيدنا من أمثالها فنحن نتشوّق ونتعطش لها راجين الله العلي القدير أن يصلح فساد قلوبنا وأن يجعلنا على المحجة البيضاء التي تركنا عليها سيدنا محمّد صلى الله عليه وسلم... والسلام عليكم ورحمة الله وبركاته.
    1 point
  48. أخي الحبيب ياسر العربي بسم الله ما شاء الله ...رائع بحق إحنا كدا مضطرين نقعد على المصطبة بتاعتك عشان نتعلم منك الفيجوال بيسك 6 .. يا ريت إذا كان وقتك يسمح ، تبدأ دورة فيها بس تبدأ من قبل البداية .. تقبل وافر تقديري واحترامي
    1 point
  49. الحلقة الثامنة *********** السلام عليكم ورحمة الله وبركاته أسعد الله أوقاتكم إخواني الكرام في الصرح العملاق هنتكلم النهاردة عن نافذة مهمة جدا ومهمشة في الشروحات إلى حد كبير .. النافذة اسمها (النافذة الفورية Immediate Window) ودي بتفكرني بالخميرة الفورية .. تلاقي ست البيت مستعجلة ع العجين ، ومعندهاش صبر ، كتر خيرها وراها فيس بوك مش فاضية للعجين ، تقوم تستخدم الخميرة الفورية عشان العجين يخمر بسرعة ..(واحد هيقولي إنت شكلك شغال في فرن) ! نفس الفكرة معانا بردو مع النافذة الفورية اللي هنتكلم عليها ، بمعنى لو فيه سطر معين من الأكواد عايز تشوف نتيجته بشكل فوري ، يبقا هو دا المكان المناسب عشان تحصل على النتيجة السريعة .. أولاً قبل ما ننسى وياخدنا الكلام ، إحنا بنظهر النافذة دي من قايمة View ثم Immediate Window ، واللي هيركز هيلاقي الاختصار الخاص بيها CTRL + G بتظهر النافذة دي أسفل المحرر ودي من ضمن هيكلة محرر الأكواد ، ممكن تتحكم في حجمها من خلال سهم بيظهر في المربع الأحمر في الصورة دي : المهم هي دي النافذة الفورية ، بصراحة أداة رائعة للي يفهمها كويس ، ممكن من خلالها تنفيذ الأكواد بشكل سريع ، وممكن تجاوبك على الأسئلة بشكل فوري وهنشوف الكلام ده بالأمثلة ، وبتستخدم لتصحيح الأخطاء البرمجية Debugging ، وكمان تستخدم لإظهار نتائج الكود .... الكلام النظري مش هيفيد زي العملي .. فلنبدأ الحلقة : أولا هنشتغل محققين (أخيرا الواحد ياخد وضعه - مش هنفضل كدا ملطشة دايما ، إحنا اللي دايما بنتسأل ) إحنا نسأل وهو يجاوب ، ومننساش الإجابة هتكون فورية ... طبعاً كل اللي ظاهر قدامنا مجرد مؤشر الماوس واقف في أول النافذة .. إحنا اتعودنا إن السؤال دايما بيكون آخره علامة الاستفهام ، هنا الوضع مختلف ، إحنا هنحط علامة الاستفهام في الأول عشان نخض النافذة كأننا بنقولها انتبهي هسألك ، وجاوبي في الحال : نكتب مثلاً السطر التالي (نكتبه يا كابتن حسام مش ننسخه) ?Rows.Count أو ? Rows.Count ممكن بعد علامة الاستفهام نترك مسافة أو لا نترك ، الأمر سيان ، وممكن مؤشر الماوس يكون في نهاية السطر أو في أي مكان داخل السطر ، الأمر سيان .. بعد ما نكتب نضغط Enter نلاقي الإجابة في التو وفي الحال (ونعم النافذة المطيعة) السطر اللي فات هيعد عدد الصفوف في ورقة العمل (1048576) .. الإجابة هتكون من غير أقواس ? Columns.Count عدد الأعدمة في ورقة العمل ، الإجابة (16384) محدش يجرب يعد الخلايا لأن دا هيسبب حاجة اسمها Overflow (جرب بنفسك هيطلع لك رسالة خطأ) نجرب نعد أوراق العمل ? Worksheets.Count أو ? Sheets.Count نجرب نفتح مصنفين مثلاً ونجرب السطر التالي ? Workbooks.Count السطر الأخير لعد المصنفات المفتوحة!! ناخد أمثلة تانية ، هو مفيش غير أسئلة العد دي .. لا طبعا الأسئلة كتير ، بس أنا بقول بالمرة نتعلم أسطر جديدة عشان نستفيد منها في التطبيق العملي طيب نخلي نافذة الإكسيل ونافذة المحرر جنب بعض زي ما اتعلمنا قبل كدا ، ونضع في الخلية B4 القيمة 100 ، وبعدين كليك يمين وتنسيق خلايا ، ونخلي تنسيق الخلية كعملة بالجنيه المصري مثلاً ، ونلونها باللون الأصفر بلاش الأحمر اللي الناس هتبدأ تتعقد منه ، ونخلينا واقفين في الخلية B4 بحيث تكون الخلية هي الخلية النشطة ActiveCell.. نرجع للفورية (النافذة الفورية إنتو لحقتو تنسوا !! ربنا يستر عليكم من الزهايمر) ، ونكتب السطر التالي لمعرفة قيمة الخلية B4 : ? Range("B4").Value ونجرب السطر التالي لمعرفة تنسيق الخلية B4 اللي هي الخلية النشطة : ? ActiveCell.NumberFormat ونكتب السطر التالي لمعرفة عرض العمود للخلية النشطة : ? ActiveCell.ColumnWidth ونكتب السطر التالي لمعرفة عنوان الخلية النشطة : ? ActiveCell.Address ونكتب السطر التالي لمعرفة رقم صف الخلية النشطة : ? ActiveCell.Row ونكتب السطر التالي لمعرفة رقم عمود الخلية النشطة : ? ActiveCell.Column ونكتب السطر التالي لمعرفة رقم اللون الداخلي للخلية النشطة (مش لون الخط Font ) : ? ActiveCell.Interior.Color ونكتب السطر التالي لمعرفة اسم ورقة العمل اللي موجودة فيه الخلية النشطة : ? ActiveCell.Parent.Name في السطر الأخير الكلمة Parent في اللغة الإنجليزية معناها (أحد الوالدين .. وأنا هترجمها الأم ؛ لأن الأم متوصي عليها 3 مرات) ، فالخلية النشطة جزء صغير من الحضن الكبير اللي هو ورقة العمل ، فبالتالي الخلية بمثابة الابن ، وورقة العمل بمثابة الأم ، ففي السطر اللي فات عايزين نعرف اسم الأم للخلية النشطة (واحد هيقولي النتيجة هتطلع كريمة مختار ..ما هي بتطلع بدور الأم دايما ) .. أنا بالفعل خليت اسم الشيت (كريمة مختار) فطلعت النتيجة (كريمة مختار) بس الاسم من غير أقواس .. أنا طولت في الجزئية اللي فاتت عشان نقدر نستفيد كمان من الأكواد المختلفة عشان نبدأ نتقدم في مرحلة التعلم بشكل أسرع (وعشان كمان عجباني شغلانة المحقق دي بصراحة ..أنا أسأل وهو يجاوب !!) ننتقل لجزئية تانية : النافذة دي ليها دور تاني غير اللي عملناه من شوية ، إننا نقدر من خلالها ننفذ الكود مباشرة ، بس بشرط يكون الكود سطر واحد ناخد مثال تطبيقي عملي ، ونكتب السطر التالي لتغيير لون التاب Tab (التبويبات المختلفة لأوراق العمل) - مننساش قبل ما نضغط إنتر نبص على لون التبويب لورقة العمل النشطة ActiveSheet : ActiveSheet.Tab.Color = vbRed لو معجبكش اللون خليه vbYellow ، ولا تزعل نفسك يا منير !! السطر ببساطة بيتعامل مع ورقة العمل النشطة (مش الخلية النشطة نخلي بالنا) وبعدين Tab للتعامل مع التبويبات لأوراق العمل ، وأخيراً Color لتحديد قيمة للون التاب ، ونخلي القيمة اللون اللي يناسبنا .. بكدا نعرف معلومة جديدة إننا ممكن ننفذ الكود من خلال النافذة الفورية ، ونشوف نتيجة تنفيذه في ورقة العمل مباشرةً.. نجرب السطر التالي لتنسيق عرض الأعمدة من A إلى D بمقدار 5 : Columns("A:D").ColumnWidth = 5 ونكتب السطر التالي لجعل ورقة العمل المسماة Sheet1 مخفية : Worksheets("Sheet1").Visible = False أو Sheets("Sheet1").Visible = False ولإظهارها بنغير القيمة False إلى القيمة True .. وممكن نستغنى عن القيمتين دول ، لو عايزين نتعلم الصح هنا .. هنتعلم من خلال الأسطر القادمة التعامل مع الخاصية Visible >> بالنسبة للخاصية Visible ممكن نحط لها قيمة من 3 قيم : -1 أو xlSheetVisible (لإظهار ورقة العمل ...) * القيمة 0 أو xlSheetHidden (لإخفاء ورقة العمل ..) * القيمة 2 أو xlSheetVeryHidden (لإخفاء ورقة العمل ..) محدش منتبه ليه ؟ شكلي كدا هبطل الحلقات بسبب عدم التركيز .. القيمة 0 والقيمة 2 للخاصية Visible نفس الوظيفة (طبعا ً لا .. طبعاً لأ) أمال ايه الموضوع ؟ ايه الفرق؟ القيمة 0 ، دا إخفاء عادي ، يعني ممكن لو أي مستخدم عنده خبرة وعمل كليك يمين على التاب الخاص بأسماء أوراق العمل ، هيلاقي الأمر Unhide ، هيضغط عليه هيلاقي الورقة المخفية ، فيقوم يظهرها .. أما القيمة 2 ، فدا الإخفاء السوبر (زي التطشيب السوبر لوكس) ، دا بقا يخلي المستخدم لو عمل كليك يمين في المكان اللي قلنا عليه ، هيلاقي الأمر Unhide مش أكتيف مش نشط ..! ولإظهار الورقة في هذه الحالة لابد من الدخول على محرر الأكواد ، ومن النافذة properties (ودي لو مش ظاهرة بنضغط F4 تقوم تطل علينا بطلعتها البهية ) ، هنحدد ورقة العمل المسماة Sheet1 ونشوف نافذة الـ Properties في آخرها هنلاقي الخاصية Visible نختار منها أول اختيار الخاص بإظهار ورقة العمل .. أو نستخدم الكود لإظهارها .. السطر اللي المفروض نكتبه هيكون بالشكل ده : Sheets("Sheet1").Visible = -1 خلاصة الجزئية اللي فاتت إننا ممكن ننفذ الأكواد عن طريق النافذة السحرية (أنا حر في تسميتها ..بلاش تعترض يا مدحت) ننتقل لجزئية جديدة ، مع اسستخدام جديد للنافذة العبقرية ، ألا وهي تصحيح الأخطاء البرمجية (ودا الاستخدام الشائع ليها) ودا بيطلق عليه Debugging .. الأخطاء البرمجية بيطلق عليه Bugs (بق : لأن البق حشرة ضارة ، زيها زي الخطأ البرمجي ضار بالكود) قبل ما نسرد في الشرح نتعرف على كائن اسمه Debug ودا بيستخدم في الأكواد عشان يطبع (بس مش على ورق ..أمال هيطبع على ايه ؟؟ هيطبع النتائج في النافذة الفورية) ، والخاصية المرتبطة بهذا الكائن الخرافي اسمها Print ، ونرجع تاني بالذاكرة عشان نتذكر المعلومة اللي ذكرناها عن الفعل Print إنه Method .. ناخد مثال عملي عشان نفهم إزاي نستخدم الكائن Debug ، أدرج موديول جديد ، وضع فيه هذا الإجراء الفرعي : Sub ErrorCode() MyRandomNumber = Rnd() / 0 End Sub فيه دالة بالإكسيل اسمها Rand لعمل أرقام عشوائية بين الصفر والواحد ، ولو حبينا تكون الأرقام العشوائية بين الصفر والعشرة مثلاً نضرب * 10 داخل ورقة العمل قم بتحديد مجموعة خلايا واكتب المعادلة التالية ثم اضغط Ctrl + Enter ، ولتجربة المعادلة اضغط F9 =RAND()*10 المقابل للدالة دي في محرر الأكواد Rnd ووراها قوسين ، يعني الاختلاف في حرف واحد زيادة في الدالة (يا عم بيل جيتس يعني فرقت معاك في الحرف ده ، ما كنت خلتها نفس الحروف !!) يرجع مرجعونا للكود : المتغير وضعنا له قيمة رقم عشوائي على صفر (وعارفين في الرياضيات أنه لا يمكن القسمة على صفر) يعني هذه القيمة تعتبر باطلة ننفذ الكود هنلاقي رسالة خطأ بتقول : Divison By Zero ، نضغط على إنهاء للخروج من نافذة الخطأ .. ممكن واحد مذاكر شوية يقول فيه جملة أنا حافظها عشان أتلاشى رسالة الخطأ : On Error Resume Next والجملة دي نحطها قبل السطر اللي فيه الخطأ البرمجي .. دلوقتي لو نفذنا الكود هنلاقي إن مفيش حاجة حصلت ، طيب نضيف سطر أخير زي كدا : Sub ErrorCode() On Error Resume Next MyRandomNumber = Rnd() / 0 Debug.Print Err.Description End Sub السطر الأخير بيتعامل مع النافذة الفورية ، ننفذ الكود وعنينا على النافذة الفورية .. نفذتوا الكود :: نلاحظ الجملة دي ظهرت في النافذة الفورية Division by zero ، ودي وصف للخطأ البرمجي الموجود داخل الكود .. كلمة Err دي اختصار لكلمة Error (خطأ) ، وبعدين نقطة فتظهر الخواص المرتبطة بكلمة Err ، هنلاقي كلمة Description ودي معناها وصف .. خلاصة لكلام وصف الخطأ . والناتج هيظهر لي في النافذة الفورية .. معلومة تانية ، ممكن ننفذ الكود من خلال النافذة الفورية عن طريق أمر اسمه Call وبعديه مسافة متبعة باسم الإجراء الفرعي أو الدالة بهذا الشكل Call ErrorCode() وممكن نكتب القوسين أو منكتبهمش الأمر سيان !! ناخد مثال تاني على دالة UDF دالة معرفة ، ودي اتكلمنا عليها الحلقة اللي فاتت .. هنعمل دالة بسيطة على السريع ، عشان نطبقها في النافذة الفورية : Function MyName() As String MyName = "YasserKhalil" End Function نكتب ايه في النافذة الفورية ؟؟ في حالة الإجراء الفرعي من شوية كتبنا الأمر Call متبوع بمسافة وبعدين اسم الإجراء الفرعي عشان أقدر أنفذ الكود داخل النافذة الفورية ، أما بالنسبة للدالة Function فبنستخدم علامة استفهام في البداية ? MyName جرب الأمر Call قبل MyName وجرب تشيله مرة ، هتلاقي مفيش نتيجة تظهر لك .. الشكل الصحيح في السطر اللي فات وبس يبقا نخلي بالنا في حالة استدعاء الإجراء الفرعي بنستخدم Call ، أما في حالة الدوال فبنستخدم علامة استفهام قبل اسم الدالة .. نرجع تاني للكائن Debug هل الكائن الخرافي ده مرتبط بالأخطاء فقط ؟؟ الإجابة لا ، هو بييجي وراه كلمة Print لطباعة أي نتائج .. وكمثال أخير عشان الحلقة طولت : Sub PrintX() For X = 1 To 5 Debug.Print X Next X End Sub في الكود الموجود يا عبد الودود فيه حاجة في الـ VBA اسمها الحلقة التكرارية ، ودي مش هشرحها ، لأن فيه موضوع في توقيعي خاص بالحلقة التكرارية For.. Next ، ومرفق بالموضوع ملف فيديو في المشاركات (يرجى الرجوع إليه ..) ما بين سطرين الحلقة التكرارية الأمر اللي بيقوم بطباعة قيمة المتغير X في النافذة الفورية .. ركز في النافذة السحرية هتلاقي النتايج الفورية ، على ما خلصت الحلقة ديا أنا طلعت عينيا .. يارب تكونوا استفدتوا بنسبة 100% ، وإلى لقاء مع حلقة مفيدة ومجدية ، أترككم في حفظ الله . مثال آخر : لمزيد من التوضيح (مثال بدون شرح) >> حلقة تكرارية لأوراق العمل الموجودة داخل المصنف << (الواجب تنفيذ الكود وشرحه) Sub List_Sheets() Dim WS As Worksheet For Each WS In Worksheets Debug.Print WS.Name Next WS End Sub كان معكم المحقق أبو البراء من نيابة أوفيسنا .. والسلام حسن الختام ...
    1 point
  50. السلام عليكم ورحمة الله وبركاته أخي العزيز أبو عيد أنا عاجز عن شكرك فحضورك وتفاعلك معي في حد ذاته مثمن ومقدر ودعوت الله لك أن يبارك لك في علمك ومالك وذريتك وأن يغفر الله لوالدينا ووالديك آآآمين يارب .. جهد تشكر عليه ولكن ساوضح لك الفكرة التي عملت عليها هذا العمل .. الجدول تجارب هو الادخال للموظف واهدف من هذا الشيت أن يكون مدير العمل مطلع على حركة الموظف في شيت واحد فقط ويتعرف من خلاله على حضوره وغياباته وتأخراته واجازاته وكل ما يخصه في صفحة واحدة تساعده في اتخاذ قرار او توجه نحو ذلك الموظف. عملت الجدول ( تجارب ) واصبحت سابقا أعمل اضافة جدول لكل موظف واحيانا تصل ألى 40 موظف وأكثر وكان هناك ثلاثة ارتباطات في صفحة كل موظف لاجراءات الغياب والتاخر على برنامج word يتم كتابة اسم الموظف وبياناته وغيابه يدويا . في المرحلة الثانية عملت ( تجارب ) لتسجيل غياب وتأخرات وخروج وانواع اجازات كل موظف ولكن جعلت في هذا النموذج اربعة نماذج لاجراءات الغياب والتأخرات ولكنها هذه المرة كل نموذج مرتبط بشيت على الاكسل وتجدها برقم 1-2-3-4 . المشكلة التي وقعت بها نموذج ( تجارب) الذي ادون فيه كل شي للموظف سهل تكراره ووجعله باسم جديد لكل موظف احدثه .. لكن الاربعة النماذج الاخرى بحكم انها مرتبطة بنموذج تجارب وتغذي بمعلومات الموظف تلقائيا فهل هناك طريقة اجعلها لاتتكرر مع كل موظف لانها تفتح على الاكسل فلو ساعدتني في ذلك بحيث اكرر نموذج ( تجارب) لمحمود - وخالد - وعبدالصمد ولكن عند طلب اجراء لأي أحد منهم ينقلني على نموذج خاص بذلك الموظف .. أتمنى أنني وفقت في توضيح ما اريد ورحم الله والديك .. ستجد ملف مرفق جديد بآخر محاولاتي .. 999غياب الاخير 5-2- 1436.rar
    1 point
×
×
  • اضف...

Important Information