نجوم المشاركات
Popular Content
Showing content with the highest reputation on 06/25/26 in مشاركات
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. سابقاً وفي الموضوع الذي قمت بطرحه بإستفسارات حول آلية تطبيق وإمكانية التنفيذ من خلال آكسيس ليقوم بإرسال رسائل قصيرة SMS من الجوال . كانت الملاحظات والمشاركات ذات قيمة بالنسبة لي . وأشكر كل من ساهم بالرد بمعلومة حتى لو كانت بسيطة وجزئية بنظره .🥰. وبعد البحث عن فكرة مجانية بالكامل . خلصت في نهاية المطاف إلى أنني بحاجة فقط إلى جسر وصل وربط بين الجوال والكمبيوتر ( آكسيس تحديداً ) . ولهذا قمت أولاً بإنشاء تطبيق خاص وحصري ، ويعمل فقط على هواتف أندرويد بشكل عام فقط ( طبعاً بحكم طبيعة عملي في مجال الجوالات وصيانتها ) - جماعة IOS اعتذر منكم في الوقت الحالي 😁 - فكان التنفيذ لتطبيق لا يحتاج منك إلا تشغيل/أيقاف الخدمة فقط . وطبعاً وللمعلومة هذه الخدمة لا تعتمد على أي اتصال بالإترنت نهاااائياً . حيث أن الربط سيكون من خلال الشبكة المحلية التي يتصل بها الكمبيوتر والجوال معاً ، حتى لو كانت مجرد شبكة محلية بدون انترنت ، وعليه :- سيلزمنا أولاً تحميل التطبيق بصيغة APK من الرابط التالي هنا ، وتثبيته على الجوال بالشكل الطبيعي . ولكن وبما أن حمايات جوجل تتطور وتتحدث يومياً فإنك ستلاحظ أن النظام في جوالك سيمنع التثبيت بحكم أنك لم تقم بتحميل التطبيق من متجر تطبيقات جوجل 😅 ، وبالتالي فما عليك فعله بعد تحميل التطبيق من الرابط إلى جوالك ، ما يلي :- 1. افتح متجر جوجل بلاي في جوالك ، واتبع الخطوات التالية :- 2. الآن قم بإيقاف الحماية مؤقتاً للسماح بتثبيت تطبيقات خارجية ، ثم أعد تشغيلها للإطمئنان ، كما في الصورة :- 3. قم بتثبيت التطبيق الذي قمت بتحميله من الرابط السابق الآن . وبما أننا سنتعامل مع تطبيق يتعامل مع الرسائل وجهات الاتصال فقط . فسيطلب منك التطبيق الإذن بالصلاحيات للوصول الى الرسائل وجهات الإتصال ، وهذا الأمر طبيعي جداً . يعني حاله كحال أي تطبيق تقوم بتثبيته ويطلب منك صلاحيات . ولكن صلاحياتنا هنا محدودة وظاهرة . 4. قم الآن بتحميل النظام من الرابط التالي هنا للإصدار 64 ، أو من هنا للإصدار 32 . وستكون الواجهة بالشكل التالي :- 5. الآن ما الذي يتوجب عليك فعله بعد تحميل التطبيق وتثبيته على الجوال وفتحه ، وتشغيل البرنامج ؟ فقط اتبع ما يلي مصوراً :- اضغط الزر الأحمر والذي يدلك على حالة الإتصال بالخدمة ( تعمل / متوقف ) . حيث سيتغير لونه إلى اللون الأخضر عند تشغيل البرنامج . ليصبح بالشكل التالي على نجاح التشغيل :- التطبيق سيعمل معك بالعربية أو الإنجليزية ، ويدعم نمط الوضع الداكن أو الفاتح . وهي أمور جمالية فقط لا غير . لكن الإفتراضية ستكون اللغة العربية بالوضع الداكن . 6. الآن وبما أننا حصلنا على رقم IP محلي داخل الشبكة الحالية التي تحدثنا أنه يجب أن يكون الجوال والكمبيوتر متصلان على نفس الشبكة . سنذهب إلى واجهة التطبيق ونضغط زر الإعدادات الموجود بقائمة الأزرار الموجودة في الجزء العلوي الأيمن . وستجد أنك دخلت إلى النموذج التالي :- والمطلوب منك هو إدخال رقم الـ IP الذي ظهر معك في التطبيق الذي تم تثبيته على جوالك ، كما في الصورة ( مع اختلاف القيم طبعاً حسب الموزع الذي يتصل به جهازاك ) . وطبعاً باقي تفاصيل الإعدادات واضحة . حيث يمكنك تحديد عدد حروف الرسالة النصية الواحدة المرسلة . ومدة التحديث التلقائي التي تريد أن يتم كل عدد ثواني الكشف عن الاتصال . ثم انقر الزر الأخضر لحفظ الإعدادات والخروج . 7. وبعد أن تمت عملية تهيئة النظام للإتصال من خلال الشبكة المحلية بنجاح . سنقوم بالضغط على الزر الذي له شكل شبكة الـواي فاي WiFi . وستلاحظ انه تم الاتصال بالجوال وسيظهر لك اسم جوالك في أعلى الجهة اليمنى من واجهة النظام . وكذلك نسبة البطارية في جهازك في الجهة اليسرى المقابلة . وهذا دلالة على الإتصال ناجح بين آكسيس والجوال . 8. الآن ما دلالات ووظائف الأزرار الباقية ؟؟ ♻ الزر وظيفته جلب جهات الإتصال من الجوال ومزامنتها داخل التطبيق . والهدف هو تحميل جهات اتصالك بدلاً من حفظها واحداً واحداً . طبعاً ميزة الإضافة لجهة جوال جديدة غير متاحة حالياً في هذه النسخة . ♻ الزر الغير مفعل كوظيفة ، هو ووظيفته لاحقاً هي إستيراد الرسائل من الصندوق الوارد في جوالك الى اكسيس . وطبعاً المزامنة لن تكون بتكرار الرسائل عند كل عملية استيراد أو مزامنة ، وكذلك الأمر لجهات الاتصال . فلن يكون هناك تكرار عند كل عملية مزامنة . ♻ الزر ووظيفته عرض واختيار جهات الإتصال التي تمت مزامنتها من جوالك لاختيار - فردي أو متعدد - جهات إتصال وأرقام ترغب بالإرسال لهم . وعند النقر المزدوج على أي جهة إتصال سيفتح لك نموذج تعديل الاسم أو جهة الاتصال هذه وحفظ التعديلات . و طبعاً تستطيع الإرسال لرقم غير محفوظ في جهات اتصالك . ♻ الزرين ( فحص حالة الإتصال تلقائياً و حفظ الرسالة بعد الإرسال ) تسميتهما دالة على الوظيفة بشكل صريح . ♻ الزر 😄 ، وظيفته إضافة تعبير رسومية Emoji للرسالة . 9. الليست بوكس الموجود على الجهة اليسرى من الواجهة سيعرض لك جميع الرسائل التي تم ارسالها ( طبعاً إن قمت بتفعيل الحفظ التلقائي في الزرين الذين تم شرحهم قبل هذه النقطة ) ووجب الذكر هنا أن الخيارات والإعدادات ستبقى محفوظة حتى لو قمت بالخروج من النظام والعودة له لاحقاً . وطبعاً عند النقر المزدوج على أي رسالة مرسلة محفوظة سيتم نقل نص الرسالة الى مربع نص الرسالة بدلاً من كتابتها مرة أخرى عند حاجتها . وهنا ستجد المتعة في هذه القائمة من خلال طريقة العرض التي تريدها . يعني أنه يمكنك عرض الليست بوكس عن طريق القائمة وهي طريقة العرض الإفتراضية أو الشجرة . وذلك من خلال الزرين الموجودين فوق هذه القائمة . حيث في طريقة عرض القائمة سيتم عرض جميع الرسائل كسجل منفرد لكل رسالة . بينما في طريقة عرض الشجرة سيتم عرض الرقم المرسل له . وعند فتح قائمته تظهر لك الرسائل التي ارسلتها له 😁 . الآن وفي نهاية المطاف ، آمل أن يكون هذا العمل الذي استغرقني قرابة الشهر ، قد نال إعجابكم من الناحية التنفيذية و الوظيفية له . وحيث أن الوظائف التي لم تدرج بعد ، سيكون لها قريباً دمج وإضافة بعد التحقق من نجاحها بكافة الأشكال وتجربتها على أكثر من جوال ، في تحديث جديد . طبعاً التطبيقات التي تشابه فكرة تطبيق الجوال الخاص بي كثيرة على متجر جوجل بلاي .. فلك الحق والحرية بتجربة أي تطبيق آخر من المتجر نفسه . على سبيل المثال لا الحصر Traccar SMS Gateway . لكن ما يميز تطبيقي أنك لست بحاجة الى رمز وصول Token . أيضاً لن تستفيد من ميزة إستيراد جهات الإتصال من جوالك الى آكسيس . وبعض المزايا الأخرى بالتأكيد 😉 . •| وفي الحديث عن أن العمل مقفل وبصيغة ACCDE . فهو مجهود شخصي وغير منفذ مسبقاً . لذا عذراً عن عدم رفعه مفتوح المصدر فيما بعد |• 🤗 ولك الحق في عدم تجربة أي مشاريع مقفلة 🤗3 points
-
تفضل استاذ @بلال بلال طلبك الاخير بالاستعلام Query1 والحقل BB . اليك المرفق . التاريخ-3.rar1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. بما أن الفكرة ليست واضحة بالنسبة لي .. ولكن جرب إنشاء زر للحفظ مثلاً في النموذج الفرعي الأول Subform_1 . واجعل له الكود التالي :- Me.TEXT_3.Value = Nz(Me.Subform_2.Form!Txt_Sub_Total.Value, 0) بحيث يكون أول شيء يفعله هو جلب قيمة الإجمالي من مربع النص في الفرعي2 الى الفرعي 1 ، ويمكنك اضافة باقي الأحداث ليصبح زر للحفظ . M - 1.mdb1 point
-
وإذا كان الاستخدام على ويندوز 7 ( وهو الويندوز الشعبي المفضل فى أغلب مدارسنا ) وهو متوافق مع 2003 ، كيف سيكون الحل ؟ لأنه مع الحل السابق سوف تتلقى هذا الإعتراض :1 point
-
1 point
-
🤔 هل من الممكن أن يكون اختلاف التنسيق بين الخليتين له سبب بهذه المشكلة ؟؟؟ ولكن الفيصل في حل مشكلتك هو ارفاق ملف كما أشار أخي الأستاذ @عبدالله بشير عبدالله ..1 point
-
1 point
-
وعليكم السلام اتفضل الكود دا لعله يكون المطلوب جرب وشوف وخبرنا بالنتجه Option Explicit Sub ارسال_رسائل_واتساب() Dim ws As Worksheet Dim LastRow As Long Dim i As Long Dim Phone As String Dim Name As String Dim Msg As String Set ws = ThisWorkbook.Sheets("رسائل اليوم") LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To LastRow Name = Trim(ws.Cells(i, "A").Value) Phone = Trim(ws.Cells(i, "C").Value) Msg = Trim(ws.Cells(i, "E").Value) If Phone <> "" And Msg <> "" Then Msg = Replace(Msg, "[الاسم]", Name) Msg = WorksheetFunction.EncodeURL(Msg) ThisWorkbook.FollowHyperlink _ "https://web.whatsapp.com/send?phone=" & Phone & "&text=" & Msg Application.Wait Now + TimeValue("00:00:08") SendKeys "~", True Application.Wait Now + TimeValue("00:00:03") End If Next i MsgBox "تم إرسال جميع الرسائل", vbInformation End Sub وممكن حضرتك تتصفح المواضيع اللي تحت👇 ينمكن تلاقي اللي بتدور عليه وأكتر كما🌹 Copy of واتس اب ويب.xlsm1 point
-
اعرض الملف 🖼️ أداة جميلة لإزالة خلفيات الصور | سلسلة هدايا الأكسس | ⭐ 🎁 السلام عليكم ورحمة الله وبركاته لكسر الروتين وعموم الفائدة 😎👌 أقدم لكم أداة جديدة بفكرة جديدة 🙂 :: أداة إزالة خلفيات الصور :: الهدف من الأداة واضح >> وهو ببساطة إزالة خلفيات الصور >> والناتج صورة بخلفية شفافة بصيغة png . ولها استخدامات كثيرة في الاحتياجات العامة أو لتشذيب الصور قبل إدراجها في برنامج الأكسس مثلا .. أو .. أو .. أو .. عدد ما شئت أنا شخصيا أحتجتها في برنامجي (صانع الشهادات) لإزالة خلفيات التواقيع 🖋️📜 ثم إضافتها للبرنامج كمرفق. الأداة فكرتها بسيطة >> الإتصال بموقع remove.bg المشهور عن طريق ال API والعودة بالناتج بدون الحاجة لفتح الموقع. مفتاح الـAPI الحالي هو خاص بي ويمكنكم استخدامه مباشرة ولكنه محدود ب 50 تحويل لليوم .. في حال رغبتك بوضع مفتاحك الخاص ( وهي خدمة مجانية بالمناسبة ) يمكن تغييره في أول صفحة الكود وقد وضحت الطريقة هناك . 🙂 الملف مفتوح المصدر :: ودعواتكم الطيبة 🙂 صاحب الملف Moosak تمت الاضافه 06/22/26 الاقسام قسم الأكسيس1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته في عدم وجود ملف لمعرفة السبب جرب الطريقة البدائية البسيطة اذهب إلى الشيت والخلية الذي تريد ظهور الناتج فيها. اكتب علامة يساوي (=). بالماوس، انتقل إلى الشيت الآخر واضغط على الخلية التي تريد جلب البيانات منها ثم اضغط على زر Enter1 point
-
أخي الكريم ، الفكرة ليست بمعادلة وينتهي الموضوع !!!! بناءً على ملفك المرفق فإنه حتى المعادلة لن تأتي لك بالمطلوب لأسباب كثيرة . نمط التاريخ وشكله وتنسيقه غير واضح في الخلايا داخل الورقات اليومية . الخلية التي سيكون بها تاريخ المقارنة يجب أن يكون في خلية ثابتة في جميع الورقات . خلية عرض الصافي أيضاً يجب أن تكون في خلية ثابتة . فليس من المنطقي أن تكون مرة في Q ومرة في R ومرة في F ... إلخ وعليه تم العمل من خلال ماكرو واستدعاؤه داخل الورقة الرئيسية كالتالي :- Sub GetValuesFromSheets() Dim wsCurrent As Worksheet Dim wsOther As Worksheet Dim i As Long Dim j As Long Dim targetDate As Date Dim found As Boolean Dim lastRow As Long Set wsCurrent = ThisWorkbook.ActiveSheet Application.ScreenUpdating = False Application.Calculation = xlCalculationManual wsCurrent.Range("C3:C33").ClearContents For i = 3 To 33 If wsCurrent.Cells(i, "B").Value <> "" Then If IsDate(wsCurrent.Cells(i, "B").Value) Then targetDate = CDate(wsCurrent.Cells(i, "B").Value) found = False For Each wsOther In ThisWorkbook.Worksheets If wsOther.Name <> wsCurrent.Name Then lastRow = wsOther.Cells(wsOther.Rows.Count, "B").End(xlUp).Row If lastRow > 33 Then lastRow = 33 For j = 3 To lastRow If wsOther.Cells(j, "B").Value <> "" Then If IsDate(wsOther.Cells(j, "B").Value) Then If CDate(wsOther.Cells(j, "B").Value) = targetDate Then wsCurrent.Cells(i, "C").Value = wsOther.Range("R27").Value found = True Exit For End If End If End If Next j End If If found Then Exit For Next wsOther If Not found Then wsCurrent.Cells(i, "C").Value = "غير موجود" End If End If End If Next i Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub Private Sub Worksheet_Activate() Call GetValuesFromSheets End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B3:B33")) Is Nothing Then Call GetValuesFromSheets End If End Sub وهذا مرفقك بعد إجراء بعض التعديلات عليه وضبط المواضع التي تحدثت عنها سابقاً تصفيات العيادات.xlsm ملاحظة .. تم تعديل التاريخ في كل ورقة ليصبح 2026-06-19 2026-06-20 2026-06-21 2026-06-221 point
-
وعليكم السلام ورحمه الله وبركاته يجب عليك ارفاق ملف الاكسل المراد العمل عليه نظام حماية لملف الاكسل والدخول للصفحات تشفير الملفات بدلا من استخدام انواع الحماية المختلفة مدونة اعمال ايقونات الماس لمنتدى اوفيسنا_شاشة دخول_صلاحيات_PASS WORD_اخفاء معادلات1 point
-
وعليكم السلام ورحمة الله وبركاته اليك الحل بالمعادلات في شيت1 بالاكواد شيت2 مثال1.xlsb1 point
-
1 point
-
وعليكم السلام ورحمة الله وبركاته .. هذه فكرة بسيطة للورقة الثانية في الخلية D4 ( المطلب الأول ) ، جربه :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$4" Then Dim cell As Range, n As Long Range("B6:B35, D6:D35").ClearContents If IsDate(Target.Value) And Target.Value <> "" Then For Each cell In Sheets("بيانات العاملين").Range("B2:B" & Sheets("بيانات العاملين").Cells(Rows.Count, "B").End(xlUp).Row) If cell.Value = Target.Value Then n = n + 1 Cells(6 + ((n - 1) Mod 30), 2 + ((n - 1) \ 30) * 2).Value = cell.Offset(0, 1).Value If n = 60 Then Exit For End If Next cell End If End If End Sub المطلب الثاني في الورقة الثالثة ، جرب استعمال الفكرة التالية بحيث لتحديد العدد جعلت الخلية G4 لتحديد العدد بدلاً من 5 والتقيد به . وبالتالي اذا لم تحدد قيمة في G4 سيكون الافتراضي = 5 أسماء ، والكود كالتالي في الورقة الثالثة :- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("F4:G4")) Is Nothing Then Dim cell As Range, n As Long, limit As Long Dim status As String Range("C7:C" & Rows.Count).ClearContents status = Range("F4").Value If status = "ناجح" Or status = "راسب" Then limit = IIf(Val(Range("G4").Value) <= 0, 5, Val(Range("G4").Value)) For Each cell In Sheets("بيانات العاملين").Range("E2:E" & Sheets("بيانات العاملين").Cells(Rows.Count, "E").End(xlUp).Row) If cell.Value = status Then n = n + 1 Cells(6 + n, "C").Value = Sheets("بيانات العاملين").Cells(cell.Row, "C").Value If n = limit Then Exit For End If Next cell End If End If End Sub لاحظ أنني قمت بإضافة احتمال آخر = راسب من باب التوسعة في خيارات البحث بالنتيجة اللجنة.xlsm1 point
-
1 point
-
وعليكم السلام-تفضل طالما انك لم تقم برفع ملف موضح به المطلوب بكل دقة ,وفى طلبك وبالمعادلات العادية لا يوجد أفضل من معادلة DATEDIF1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته كان من الافضل ارفاق ملف للتطبيق عليه جرب الملف المرفق ببيانات افتراضية في النطاق A2:A100 ومعادلة الجمع في الخلية D2 ,DL ويمكنك نسحها الى اي خلية اخرى =IFERROR(SUMPRODUCT((A2:A100>0)*(SUBTOTAL(103;OFFSET(A2;ROW(A2:A100)-MIN(ROW(A2:A100));0)))*(A2:A100));0) جمع الأرقام الموجبة فقط الظاهرة دون المخفية.xlsx1 point
-
أحسنت استاذ مجدى بارك الله فيك وجعله الله فى ميزان حسناتكم ... وكل عام وأنتم بخير1 point
-
1 point
-
تفضل بعد اذن استاذنا محمد فؤاد Officena1.xlsx1 point
-
تفضل تــم عمل المطلوب -فهذا الكود لزر الخروج من ملف الإكسيل بعد الحفظ Private Sub خروج_Click() ThisWorkbook.Saved = True Application.Quit End Sub كما تم عمل زر بكل صفحة للعودة للصفحة الرئيسية Main كل ما عليك هو الضغط على أيقونة Go To Sheets سيظهر لك مربع حوارى عليك بكتابة اسم الصفحة المراد الوصول لها من خلال الضغط على OK اكواد.xlsm1 point
-
1 point
-
المعادلة تعمل تمام ... ولكن جربها هكذا =CEILING(ROUND(IF(BL10>10000,(AI10-10000)*0.003+(10000-50)*0.008,IF(AND(BL10>5000,BL10<=10000),(AI10-50)*0.008,IF(AND(BL10>1000,BL10<=5000),(AI10-50)*0.0075,IF(AND(BL10>500,BL10<=1000),(AI10-50)*0.007,IF(AND(BL10>250,BL10<=500),(AI10-50)*0.0065,IF(AND(BL10>50,BL10<=250),(AI10-50)*0.006,0)))))),2),0.05)1 point
-
1 point
-
وعليكم السلام-يمكنك استخدام معادلة المصفوفة (Ctrl+Shift+Enter) =IFERROR(INDEX(LIST!$A$12:$A$230,SMALL(IF(MONTH(LIST!$G$12:$G$230)=MONTH($C$2),ROW(A$12:A$230)-ROW(A$12)+1),ROWS($A$6:A6))),"") 1قائمة.xlsx1 point
-
تمام ببساطة -يمكنك استخدام هذه المعادلة للتسلسل للتخلص من هذه المشكلة .. وبالتالى كده تم اكتمال طلباتك =AGGREGATE(2,5,$A$1:A1)+1 ياسمين 2.xlsx1 point
-
تفضل لك ما طلبت بهذه المعادلة =SUMPRODUCT(($C$2:$C$17=$E6)*(SUBTOTAL(103,OFFSET($C2,ROW($C$2:$C$17)-MIN(ROW($C$2:$C$17)),0)))) معادلة عد الخلايا المرئية فقط بشروط.xlsx1 point
-
بالتوفيق ان شاء الله ومبارك الترقية ..أعانك الله على مهامك ومسؤلياتك الجديدة1 point
-
وعليكم السلام -يمكنك استخدام هذه المعادلة =IF(COUNTIFS($B$2:$B$200,B2,$C$2:$C$200,C2,$D$2:$D$200,D2,$E$2:$E$200,E2)>1,"مكرر","") Countifs.xlsx1 point
-
1 point