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

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

  1. منتصر الانسي

    منتصر الانسي

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


    • نقاط

      4

    • Posts

      1458


  2. Foksh

    Foksh

    الخبراء


    • نقاط

      2

    • Posts

      5113


  3. Moosak

    Moosak

    أوفيسنا


    • نقاط

      1

    • Posts

      2414


  4. عبدالله بشير عبدالله

Popular Content

Showing content with the highest reputation on 09/30/26 in مشاركات

  1. تقصدني أنا صح ؟ 😅 سواء كانت هذه نيتك أم لا فأنا أشكرك لطرح هذا السؤال حتى يخرج لنا الأستاذ @Moosak بهذه التحفة فقد قدم لنا قطعة من الصلصال وما علينا إلا تشكيلها كما نشاء وهذه كانت تجربتي ولكن هذا تطلب مني تعديل دالة CheckProtection لتصبح على النحو التالي Public Function CheckProtection(ByVal tblName As String) As Boolean On Error GoTo ErrHandler Dim tmpPath As String tmpPath = Environ("TEMP") & "\DataMacro_Check_" & tblName & ".xml" ' Export the data macro (acTableDataMacro = 12, hidden member) Application.SaveAsText AC_TABLE_DATA_MACRO, tblName, tmpPath ' Read contents using FSO (Unicode) Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(tmpPath) Then Dim ts As Object Set ts = fso.OpenTextFile(tmpPath, 1, False, -1) ' -1 = Unicode Dim result As String result = ts.ReadAll ts.Close On Error Resume Next Kill tmpPath On Error GoTo 0 CheckProtection = True Else Debug.Print "No file was created." CheckProtection = False End If Set fso = Nothing Exit Function ErrHandler: blnIsBlocked = False Debug.Print "No data macro found on '" & tblName & "': " & Err.Description Debug.Print "ERROR: " & Err.Description CheckProtection = False End Function أصبحت نتيجة هذه الدالة من النوع Boolean بدل String لترجع True إذا كان الجدول محمي أو False إذا كان غير محمي وسؤالي للأخ موسى هل سيسبب هذا التغيير أي مشكلة وأنه من الضروري أن يكون ناتج هذه الدالة ذلك النص الطويل؟ الآن عند النقر على الزر الأول سيتم التحقق من وجود الماكرو فإذا لم يجده سينشئه ثم يفتح النموذج If CheckProtection("Tbl_Cust") = False Then ApplyTableProtection "Tbl_Cust" End If DoCmd.OpenForm "frmCust" يمكن أن يكون هذا الكود خلف حدث الإغلاق للنموذج أو أي مكان آخر والعكس في الزر الثاني إذا كان موجود سيزيله ثم يفتح النموذج If CheckProtection("Tbl_Cust") = True Then RemoveTableProtection "Tbl_Cust" End If DoCmd.OpenForm "frmCust" صراحة تعجبني الحلول المبتكرة القابلة للتشكيل وفقاً لطريقة عمل كل شخص برافو أستاذ موسى
    2 points
  2. لا لا هذا كان نتيجة فكرة كنت طبقتها ثم تراجعت عنها ونسيت حذف هذا السطر صراحة أنا غير ملم بالماكرو خصوصاً ماكرو البيانات ولكن السؤال أثار فضولي للبحث فيه
    1 point
  3. تتبع الخطوات التالية وهذا هو محتوى المرفق سنغلق النموذج الشاشة الرئيسية ونفتح نموذج إنشاء الإختصار المسمى frmShortcut يفترض أن تكون النتيجة عندك مطابقة لما جاء في الصور
    1 point
  4. وحتى لا يتبادر إلى ذهن أي شخص فكرة أنني أملك الحل .. فقد يظن البعض أني أُمهد لموضوع جديد أو فكرة جديدة .😣. فوالله أني لم أتعثر حتى بطرف الخيط ، ولم أستدل إلى فكرة حتى لو لم تكن ناجحة 😇
    1 point
  5. تفضل عمي فادي .. جرب 🙂 : TblMacroVBA.accdb لتطبيق الحماية أو إزالتها على جدول أو مجموعة جداول : ' Usage (from VBA Immediate Window or code): ' ApplyTableProtection "Tbl_Cust" ' single table ' ApplyTableProtection "Tbl_Cust", "Tbl_Orders" ' multiple tables ' ' RemoveTableProtection "Tbl_Cust" ' RemoveTableProtection "Tbl_Cust", "Tbl_Orders"
    1 point
  6. المعادلة لا تغمل على اصدار 2010 تعمل على اصدار 2013 وما فوق يمكن استخدام كود لتلوين الخلايا التي بها معادلات الخطوات حدد العمود او الاعمدة - ثم اصغط على الزر تلوين خلايا المعادلات.xlsb
    1 point
  7. السادة الزملاء : مرفق دالة التفقيط بدون اكواد كل ما عليك ان تدرج الشيت المرفق فى اى ملف اكسيل تريد تفعيل دالة التفقيط بدون اكواد ولو نسخة الاكسيل 2021 فيما فوق يتم استخدام دالة مخصصة اسمها tafkeet Tafqeet_Dynamic_System (1).xlsx
    1 point
×
×
  • اضف...

Important Information