اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

  1. جلال الجمال_ابو أدهم

    • نقاط

      11

    • Posts

      1,417


  2. عبد الله قدور

    عبد الله قدور

    الخبراء


    • نقاط

      6

    • Posts

      1,177


  3. يحيى حسين

    يحيى حسين

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


    • نقاط

      5

    • Posts

      2,148


  4. رمهان

    رمهان

    الخبراء


    • نقاط

      5

    • Posts

      2,390


Popular Content

Showing content with the highest reputation on 02 أكت, 2016 in all areas

  1. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة ماكرو لإدارج صف جديد بنفس التنسيقات والمعادلات تم ارفاق كود الحل من الفاضل _ أ / أبوعبد الله و لا تنسونا من صالح الدعاء إدراج صفوف جديدة بنفس التنسيق والمعادلات بالعدد المطلوب (1).rar
    5 points
  2. السلام عليكم ورحمة الله وبركاته أقدم لكم كود يمكنك من الدخول إلى حسابك على الفيس بوك بمعلومية اسم المستخدم وكلمة السر. في الملف المرفق كل ما عليك هو أن تقوم بإدخال اسم المستخدم (الإيميل) في الخلية D10 ، وكلمة المرور في الخلية D11 ، ثم تنقر على زر الأمر Login Facebook للمزيد حول الكود المستخدم والملف المرفق قم بزيارة الرابط التالي رابط الموضوع من هنا
    2 points
  3. اخر نقاش ايه رايك اخليك تحدد السجلات الفرعية من كذا طالب ؟ يعني اجمعهم ممكن من سجلات طلاب مختلفة ! يعني ممكن سجلين او اربعة من الطالب احمد وسجلين من الطالب محمد ! واروح للسجل الجديد وادخل الطالب الجديد ثم اعمل لصق لما تم اختياره سابقا من كذا طالب ومن سجلات محدد من الطالب نفسه ؟
    2 points
  4. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة كود لاجراء عمليات حسابية من خلال الفورم تم ارفاق كود الحل من الفاضل _ أ / طلعت محمد حسن و لا تنسونا من صالح الدعاء عمليات حسابية (1).rar
    2 points
  5. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة جمع في الليست بوكس بفورم بحث أ / عبدالله باقشير With Me.ListFind For Counter = 0 To .ListCount - 1 SumResult = SumResult + .Column(3, Counter) Next Counter End With TextBox1.Value = SumResult مع امكانية تغيير العمود المراد جمعه تم ارفاق كود الحل من الفاضل _ أ / ياسر خليل أبو البراء و لا تنسونا من صالح الدعاء Search UserForm Magic.rar
    2 points
  6. استبدل المعادلة بهذه: ="مدة هذا العقد سنتان ميلاديتان تبــدأ مــــن تــاريــخ"&" "&TEXT(VLOOKUP($O$5,dat!A:R,18,1),"dd/mm/yy") اذا لم تعمل يجب اشتبدال الفاصلة "," بفاصلة منقوطة ";" في كامل المعادلة
    2 points
  7. السلام عليم اكسس 2003 لم أعمل عليه ابدا لكن اعرف انه كان فيه صلاحيات مستخدمين تم الغاؤها في 2007 اكسس 2007 هو اعمل ما عملت عليه لا يوجد فيه صلاحيات مستخدمين ولكن تم اضافة تنسيقات جديدة بدل اكواد مثل مربع نص التاريخ كنت بحاجة الى كود ليظهر بجانبه مربع اختيار التاريخ في 2007 اصبح تعديل تنسيق يكفي لذلك مع تعديلات بسيطة في اكواد الاستيراد والتصدير ، لايمكنك تعديل التوبيبات او الاضافة عليها الا برمجيا فقط اكسس 2010 له علاقة سئية مع ويندوز اكس بي سيرفس باك تو اما الباك ثري يعمل عليه ولكن مشاكل الازالة والتثبيت لا تنتهي 2010 و 2007 يقبل استيراد وتصدير جدول من نوع dbf هذا الامتداد يستخدم في اجهزة البصمة حسب ما عرفت لاحقا بحيث يمكنه استيراد هذا النوع من الامتدادات والتعديل عليها واضافة سجلات لها لكن هذه الميزة المهمة جدا وخصيصا بالنسبة لي تم الغاؤها في اكسس 2013 . اكسس 2013 تنسيق جيد يليق بويندوز 8 و 8.1 لكن لا يوجد فيه صلاحيات مستخدمين ولا يقبل استيراد الملفات من نوع dbf وللاسف حاليا انا اعمل عليه بسبب انك اذا استخدمت هذه التنسيقات لا يمكن فتح برنامج على اكسس من اصدار سابق واخيرا عندك في 2007 و 2010 و 2013 هناك امتداد جديد هو accdr وهي نسخة مغلقة من برنامج يمكن ان تقدمها للعميل ليعمل عليها ويساعدك فيها ان تقدم للعميل مع برنامج runtime access 2007 و 2010 و 2013 حتى يتم تشغيل هذه الامتداد بدون الحاحة لتنصيب اوفيس
    2 points
  8. السلام عليكم و رحمة الله وبركاته تم عمل الكود التالي Sub aHMDzMN() Dim FS As Worksheet, TS As Worksheet Dim SH, Q1, Q2, Q3, TR, ER, FR Set TS = Sheets(ActiveSheet.Name) Q1 = TS.Range("E1").Text 'ÔåÑ ÔÑßÉ Q2 = TS.Range("E2").Text 'ÔåÑ ãÄÓÓÉ Q3 = TS.Range("D1").Text 'ÇáÝÑÚ For SH = 1 To Sheets.Count If Sheets(SH).Name = Q1 Or Sheets(SH).Name = Q2 Then Set FS = Sheets(Sheets(SH).Name) TR = TS.Range("C5555").End(xlUp).Row + 1 ER = FS.UsedRange.Rows.Count For FR = 4 To ER If FS.Cells(FR, 18) = Q3 Then For C = 2 To 18 TS.Cells(TR, C) = FS.Cells(FR, C) Next C TR = TR + 1 End If Next FR End If Next SH End Sub اضغط زر البحث جرب المرفق وقول يارب برنامج-مرتبات تجريب.rar
    2 points
  9. السلام عليكم اخي الكريم زياد شاهد المرفق هل هذا ما تقصد به بالعمليات الحسابية داخل الفورم اقبل تحياتي واحترامي عمليات حسابية.rar
    2 points
  10. السلام عليكم و رحمة الله أخي جرب هذه الدالة =LOOKUP(REPT("z",255),CHOOSE({1,2,3},"Not Found", VLOOKUP(A4,'1st Class'!$A$2:$B$4,2,0), VLOOKUP(A4,'2nd Class'!$A$2:$B$4,2,0))) يحيى حسين.rar
    2 points
  11. السلام عليكم و رحمة الله وبركاته مقدمة لفهم الفكرة اليومين دوول بعمل جدول حصص لمدرستى و شكل توزيع المدرسين فى الجدول بيكون بالشكل ده : فى الحصة المنفردة بيكون بالشكل ده : محمد فى الخلية B2 مثلا فى الحصة المشتركة بيكون بالشكل ده : محمد + محمود فى الخلية B3 مثلا وعشان أحسب عدد حصص محمد فى الخليتين بالدالة COUNTIF كان الناتج 1 فقط ليه الناتج كان 1 مش 2 شفتوا شفتوا حتى الاكسل اللى أكل دماغنا جاى على المدرس و حسب له 1 مش 2 على الرغم من أن الاستاذ محمد الغلبان شغال فى حصتين الاولى لوحده والتانية مشتركة مع الاستاذ محمود طبعا أنا مدرس زى الأستاذ محمد فوجب عليا أن أنصره على الاكسل الظالم أحيانا وأرجع له حقه فكانت هذه الدالة المستحدثة عشان تدى الأستاذ محمد حقه وتحسب له كام حصة اشتغل فيها هذا المعلم **************** اسم الدالة : MokhtarCountif تشبه الدالة COUNTIF فى العمل مع الفارق الفارق أن دالتى تبحث عن النص حتى ان كان النص كلمة من مجموعة كلمات بالخلية تتكون الدالة من عدد 2 باراميتر : MyVal نوعه String و AddressRange نوعه Range والناتج نوعه Long Option Explicit Function MokhtarCountif(MyVal As String, AddressRange As Range) As Long ' Author : Mokhtar ' Release : 2 - 10 - 2016 ' The MokhtarCountif function counts the number of a single criterion within a cell or range Of cells ' Name Required/Optional Data Type Description ' MyVal Required String The criteria in the form of a number, expression, or text. ' AddressRange Required Range The cell or range of cells which you want to count within. ' Return Value : Long '---------------------------------------------------------------------------------------------------- Dim C As Range, Total As Long, Arr() As String, j As Integer Application.Volatile True For Each C In AddressRange.Cells Arr = Split(C, " ") For j = LBound(Arr) To UBound(Arr) If Arr(j) = MyVal Then On Error Resume Next Total = Total + 1 On Error GoTo 0 End If Next j Next C MokhtarCountif = Total End Function أتمنى أن تنال الدالة اعجابكم و منتظر ملاحظاتكم مع تحياتى MokhtarCountif udf.rar
    1 point
  12. السلام عليكم ورحمة الله وبركاته الاخوة الاعزاء لطلب عمل كود لطباعة وتحديد ناحية الطباعة مع اظهار اجمالى في اخر صفحة لطباعة في اسفل الورقة كود لطباعة وتحديد ناحية الطباعة.zip
    1 point
  13. ماهي استعلام عن اخر تاريخ مدخل على القاعده
    1 point
  14. تمام ياباشا وطبعا سيدخل كذلك الزيارة يدويا ؟ ثم لصق السجلات ! لان السجلات المحاضرات تابعة للزيارة ! انتبه !
    1 point
  15. بعد التمعن قليلا هنا يظهر استفسار انت قلت ثم فتح سجل جديد في النموذج الرئيسي : فياترى ماهي بيانات هذا السجل الرئيسي اي من هو الطالب؟ هل سيتم ادخاله يدويا ثم تاتي عملية اللصق للسجلات الفرعية والمختاره سابقا ؟
    1 point
  16. مرحبا جرب هذا الكود Sub iDel() Application.ScreenUpdating = False For R = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1 If WorksheetFunction.CountIf(Range("A2:A" & R), Cells(R, 1).Value) > 1 Then ' Range("A" & R & ":B" & R).ClearContents Range("A" & R & ":B" & R).Delete Shift:=xlUp End If Next Application.ScreenUpdating = True End Sub
    1 point
  17. شكرا استاذ طلعت الضاهر ان المشكل عندي وقد علمت السبب وهي ضهور النتيجة 36.5 بدلا من النقطة الفاصلة تضهر 36,5 اي "," هي سبب تغير النتيجة وقد جربت كتابة 36.5 بالنقطة الفاصلة مباشرة في التاكس بوكس 8 و قسمتها على 18 وكانت النتيجة صحيحة 100/100 (2.0277)...الان أدركت ان المشكلة تكمن في اعدادات النظام و ذهبت الى اعدادات اللغة ومن paramétres supplémentaires استبدلت الفاصلة بالنقطة شكرا لك استاذ طلعت و بارك الله فيك وجعله في ميزان حسناتك
    1 point
  18. شاهد اخي زياد هذه النتيجة في جهازي ولم اقم بتغير شيئ بالبرنامج وهي نفس النتيجة بالة الحاسبة .
    1 point
  19. تفضل التعديل اخ وائل وارجو ان يكون طلبك واخبرني بالنتيجة وانا بخدمتك ddd.rar
    1 point
  20. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة شرح القوائم المنسدلة تم ارفاق كود الحل من الفاضل _ أ / نزار سليمان عيد و لا تنسونا من صالح الدعاء _______________________Combo_Box.rar __فلاش قائمه منسدله____ (1).rar _______________________Combo_Box (1).rar _______________________Combo_Box____userform.rar User_form_nizar.rar
    1 point
  21. Basha Egypt اخى الفاضل تحياتى و جزاك الله خيرا
    1 point
  22. تلبية لرغبتكم و رغبة اخي ابو البراء الملف يالمعادلات Officena 9-2016 salim.rar
    1 point
  23. اخي العزيز وائل انا بخدمتك نعم نستطيع العمل على جدول الفوائد القديم لكن ستواجهنا مشكلة عند البحث وهي ان البرنامج لا يستطيع روؤية اسماء المواد فهو يراها كارقام وان كانت تظهر لنا كنصوص والسبب هو انكم قمتم بربط جداول المواد عن طريق حقول الترقيم التلقائي نعم يمكن جعل البرنامج يعمل ويعطي نتائج كما تحب ولكن بشرط جعل اسماء المواد هي المفاتيح الرئيسية ومن خلالها يتم ربط الجداول وان كان هذا الامر لاباس به ولا يسبب لكم اي اشكال فقط اعلمني لاعيد تهيئة الجداول ووضع التعديلات المطلوبة للبرنامج
    1 point
  24. عفوا استاذ محمد نجار انا ضعيف باللغة العربية لذا ممكن تفهمني بالضبط ما تريد بلا زحمة فرضاً احنا بالسجل جديد ما تريد حين تفعيل "بنال" هل تريد نسخ و لصق احد سجلات اخرى الى سجل جديد او اي ؟ مع تقدير
    1 point
  25. السلام عليكم يمكنك استخدامه بعد تحويل البرنامج الى accde ثم تحولها الى accdr وبهذا تكون الحماية اكثر وتتخلص من شرط تنزيل الاوفيس على جهاز الزبون
    1 point
  26. تحياتى و جزاك الله خيرا و يبارك الله لصاحب الكود أ / ياسر خليل أبو البراء و لسؤالك تم تجميع عمود الكميه المنصرفه _ عمود D تحياتى
    1 point
  27. اخي الكريم انا بخدمتك والحمدد لله اني كنت سبب لفائدتك اما بالنسبة لسؤالك سبق وان نوهت في اول مشاركة لي ان هناك خلل في تصميم الجداول تبعا للعلاقات حسب فهي لعمل برنامجك ولتوضيح الامر لو سالنا برنامج الاكسس ماهي العلاقة بين حقل (IDItemA) في جدول (ItemA) وبين حقل (IDItemA) في جدول (Foaid) لأجاب هما حقلان مختلفان في جدولين مختلفين صادف صادف صادف ان لهما نفس الاسم وبصورة اوضح ان (IDItemA) في جدول (ItemA) ينظر للحقل (IDItemA) في جدول (Foaid) كما ينضر لحقل (FaedaNass) هذا في التصميم القديم بصورة عامة لو انشانا علاقة بين حقلين او اكثر في جداول مختلفة بالنتيجة من الخطأ انشاء جدول جديد يعيد ضم نفس الحقول لانه هنا بأتي دور الاستعلام لضم الحقول التي تريدها وانا كل الذي قمت به هو انشاء استعلام شبيه جدا بجدول الفوائد القديم لكن مع الفارق في جدول فوائد القديم جميع القيم فيه يتم ادخالها يدويا وهذا خير دليل على صحة كلامي بعدم وجود علاقة لكن انظر للاستعلام مجرد ان تدخل قيمة (I) جميع القيم من (A) الى (H) يتم ادخالها اليا بالاضافة الى محاولتك للتحايل على البرنامج وذلك ليعرض لك الاسماء بدل الارقام, في التصميم الجديد لا حاجة لذلك انظر الى تصميم الاستعلام قمت باستدعاء اسماء المواد نفسها دون اي خلل بصورة اوضح في التصميم القديم جميع جداول المواد غير ضرورية اي يمكن الاستعاضة بها بحقول في جدول فوائد على شكل لوك اب وتملا بقيم بادخال يدوي بدل ان تجعل مصدر هذه القيم هو جداول اخرى جرب الامر ولن تشاهد اي اختلاف في برنامجك بالنسبة لسؤالك الثاني يجب تعديل العلاقات ثم اعد ادخال البيانات عن طريق الاستعلام مع مراعاة وجود قيم لجميع جداول المواد واسف على الاطالة او التقصير
    1 point
  28. السلام عليكم اعادة تسمية للامتداد تكفي اخي محمد سلامة ويمكنك وضع هذا الكود في النموذج الافتتاحي لتقوم باخفاء شريط اكسس والتأكد ان الامتداد صحيح وانه accdr DoCmd.ShowToolbar "ribbon", acToolbarNo Dim a As String a = Right(Me.Application.CurrentProject.FullName, 5) If a = "accdr" Then Else MsgBox "تم تغيير امتداد البرنامج ولا يمكن ان يعمل البرنامج بشكل صحيح إلا بعد إعادة الامتداد كما كان" DoCmd.Quit acQuitSaveAll End If
    1 point
  29. 1 point
  30. السلام عليكم برأيي استخدم ضع السجلات المراد نسخها بشكل دائم واضافتها لكل فاتورة في جدول خاص بها واستخدم استعلام الحاق لنقلها الى جدول مصدر الفاتورة مع رقم الربط الخاص بالفاتورة ثم عملية تحديث للنموذج تجد السجلات ظهرت امامك
    1 point
  31. السلام عليكم بالنسبة لي للتنقل بين السجلات استخدم الوحدة النمطية التالية Function frst() On Error GoTo err: DoCmd.GoToRecord , "", acFirst Exit Function err: If err.number = 2105 Then MsgBox "áÇ íãßä ÇáÐåÇÈ Åáì ÇáÓÌá ÇáãØáæÈ", vbCritical + vbMsgBoxRight, "ÎØÃ" End If End Function Function nxt() On Error GoTo err: DoCmd.GoToRecord , "", acNext Exit Function err: If err.number = 2105 Then MsgBox "áÇ íãßä ÇáÐåÇÈ Åáì ÇáÓÌá ÇáãØáæÈ", vbCritical + vbMsgBoxRight, "ÎØÃ" End If End Function Function prev() On Error GoTo err: DoCmd.GoToRecord , "", acPrevious Exit Function err: If err.number = 2105 Then MsgBox "áÇ íãßä ÇáÐåÇÈ Åáì ÇáÓÌá ÇáãØáæÈ", vbCritical + vbMsgBoxRight, "ÎØÃ" End If End Function Function lst() On Error GoTo err: DoCmd.GoToRecord , "", acLast Exit Function err: If err.number = 2105 Then MsgBox "áÇ íãßä ÇáÐåÇÈ Åáì ÇáÓÌá ÇáãØáæÈ", vbCritical + vbMsgBoxRight, "ÎØÃ" End If End Function وفي زر الذهاب الى السجل الاول اضع الكود التالي call frst وفي زر الذهاب الى السجل الاخير اضع الكود التالي call lst وفي زر الذهاب الى السجل التالي اضع الكود التالي call nxt وفي زر الذهاب الى السجل السابق اضع الكود التالي call prev تحياتي للجميع
    1 point
  32. انا استخدم 2010 وافضله عن 2007 و استخدمن 2013 ولكن كذلك افضل 2010 ولسه اليوم مسطب 2016 راح اجرب ولى عودة معاك ولكن واضح ان 2016 سيكون ممتاز مبدئيا وجدت به كل ما اريد
    1 point
  33. بسم الله ما شاء الله زادك الله علما و نفعا فكرة رائعة بكل معنى الكلمة
    1 point
  34. انا استخدم 2007 وبرايي هو افضل اصدار
    1 point
  35. بارك الله فيك أخي الكريم محمد عبد الحكيم ملف جميل ومعادلات رائعة وجميلة واصل بلا فواصل .. تقبل وافر تقديري واحترامي
    1 point
  36. مشاركة طيبة وجهد رائع خصوصا من له اهتمام بشؤون الموظفين والرواتب
    1 point
  37. تفضل أخي .. كلمة المستخدم " أبو هديل " والباسورد " 10434" Test.zip
    1 point
  38. تصفير الترقيم التلقائي أرجو المساعدة لكي أقوم بتصفير الترقيم التلقائي لقاعدة البيانات ليتم استعمالها من جديد ضروري وهام أرجم المساعدة السريعة وشكراً
    1 point
  39. وللعلم ، انا عملت على طريقة الاكسس ، وسابقا عملت برنامج لطباعة الارقام على شيكات البنوك ، وببعض المحاولات لتضبيط الحقول ، والبرنامج شغال تمام جعفر
    1 point
  40. لم تثقل علي أخي كيماس بل بالعكس لقد كنت مستمتعاً بالشرح و جزاك الله خيرا على إضافتك و للعلم [color="#666600"]=[/color]MATCH[color="#666600"]([/color][color="#006666"]9.99999999999999E+307[/color][color="#666600"];[/color]A[color="#666600"]:[/color]A[color="#666600"])[/color] 9.99999999999999E+307 يعرف بالـ BigNumber و هو أكبر رقم ممكن أن يتعمل معه الإكسيل و هناك من يشير اليه بطرق مختلفة 1e100
    1 point
  41. أ/ يحيى حسين بارك الله فيك و جزاك عنا كل خير
    1 point
  42. السلام عليكم و رحمة الله و بركاته < أخي تبحث هذه الدالة عن أخر قيمة نصية في السلسلة فلو وجد اي قيمة رقمية او أي خطأ سيتم تجاهلها الدالة لا تعيد خطأ لوجود المرجع رقم 1 في الدالة Choose و الذي يعني انه في حال لم تجد الدالتين النتيجة التي تبحثان عنها ستقوم هذه الدالة بإرجاع االمرجع رقم 1 و الذي يحتوي عبارةNot Found ================ أتمنى أن تكون قد إتضحت الصورة لك أخي كيماس =============== أخي خالد القدس لا ألغاز و لا طلاسم بل هي معادلات و ما زلنا في بداية الطريق مع الإكسيل
    1 point
  43. أخي كيماس لقد أسعدني ردك و طريقة ردك الجميلة جزاك الله كل خير أخي ================== بخصوص هذه الدالة و هي دالة وليست ألغاز استخدمنا الدالة LOOKUP للبحث عن القيمة الرقمية التي نريدها و لكن معيار البحث كان هو الدالة REPT("z",255 و التي ستقوم بتكرار الحرف Z 255 مرة و الهدف هو حتى تقوم الدالة LOOKUP بالبحث عن اخر قيمة نصية في السلسلة مع ملاحظة ان هذه الدالة تتجاهل الخطأ إن وجد أما الدالة CHOOSE إستخدمناها كمرجع للدالة LOOKUP حيث تقوم ببناء سلسلة من اول نتيجة و التي هي ثابته لدينا "Not Found" و من ثم إرجاع القيمة من خلال الدالتين VLOOKUP حيث ستعيد أحدهما نتيجة البحث في حين تعيد الأخرى نتيجة خطأ #N/A و لتصوير ذلك لو قمنا بوضع اسم محمد في الخلية A4 Mohammed ستصبح الممعادلة بعد تنفيذ الخطوات السابقة =LOOKUP(REPT("z",255),CHOOSE({1,2,3},"Not Found",#N/A,"Pass")) و بعد تنفيذ المعادلتين التليتين ستصبح المعادلة =LOOKUP("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz",{"Not Found",#N/A,"Pass"}) و من ثم ستقوم الدالة الأساسية LOOKUP بالبحث عن اخر قيمة نصية مع تجاهل الخطأ ========================================== طبعاً يمكننا اختصار المعادلة REPT("z",255) و لكن استخدامها هكذا حتى تبحث عن أكبر قيمة محتملة مهما بلغ عدد أحرفها مع العلم أيضاً انه في النسخ الحديثة 2007 و 2010 نظراً لزيادة عدد الأحرف المسمومح بها داخل الخلية يمكن استخدام المعادلة التالي حتى تعييد اكبر قيمة نصية ممكنة =REPT("z",(2^15)-1) ========================================= أتمنى أن أكون قد وفقت في الشرح و أن يكون لي نصيب من دعائكم و دمتم في حفظ الله و رعايته
    1 point
  44. يمكن التغيير عند فتح الملف بالكود التالي Private Sub Workbook_Open() Application.SendKeys "{f10}" Application.SendKeys "tms" Application.SendKeys "{tab}" Application.SendKeys "l" Application.SendKeys "{ENTER}" End Sub و إضافة الي ذلك ، يمكن السؤال عند غلق الملف ، هل ترغب فى التغيير ام لا و من ثم تحديد هل تريد حماية متوسطة m أم قصوي H و من ثن تنفيذ التغيير قبل غلق الملف و ذلك بالكود التالي Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim z As String X = MsgBox("DO YOU WANT TO MODIFY SECURITY LEVEL ??", vbYesNo, "check for security level") If X = vbNo Then Exit Sub zz: z = UCase(InputBox("Press M for Medium adn H for High")) If z = "M" Then Application.SendKeys "{f10}" Application.SendKeys "tms" Application.SendKeys "{tab}" Application.SendKeys "m" Application.SendKeys "{ENTER}" Exit Sub ElseIf z = "H" Then Application.SendKeys "{f10}" Application.SendKeys "tms" Application.SendKeys "{tab}" Application.SendKeys "h" Application.SendKeys "{ENTER}" Exit Sub Else GoTo zz End If End Sub security2.zip
    1 point
×
×
  • اضف...

Important Information