نجوم المشاركات
Popular Content
Showing content with the highest reputation on 03/05/16 in all areas
-
السادة / أعضاء منتديات أوفيسنا التعليمية الموقرين السلام عليكم ورحمه الله وبركاته بالمرفقات (( هدية )) بريمج العيادة الطبية الإصدار الأول التجريبى ملف تنفيذى أى بإمتداد exe لا يحتاج الى خفض أمان الماكرو لكى يعمل يرجى تجربتة وإبداء الملاحظات من قبل كل مهتم وتقبلوا منى وافر الاحترام والتقدير بريمج العيادة الطبية الإصدار الأول32 بت.rar4 points
-
السلام عليكم ورحمة وبركاته .. في المرفق يتم استخراج بيانات الجهاز .. المعالج + الماذر بورد + الهارد ديسك اتمنى ان يفيد من يبحث عنه ... ولا نستغني ابدا عن توجيهات خبرائنا الكرام .. ونقاش الأخوة اعضاء المنتدى الحبيب وتبادل وجهات النظر وكذلك من له تجارب مع الموضوع. بالتوفق للجميع MyProtect.rar3 points
-
3 points
-
1. سيبك من ده دلوقتي 2. ميزة الاكسس هو مصمم الاستعلامات ، استفيد منه ، لأنه جدا قوي ، و أحد اسرار الاستعلام ، ما تعمل كل شئ في استعلام واحد ، وانما تهيئ استعلام لإستعلام آخر (كما في مثالك اعلاه ، وكما في المثال التالي): http://www.officena.net/ib/topic/67637-جمع-حقول/?do=findComment&comment=440543 هي قاعدة البيانات ايه؟ 1. ادخال بيانات ، 2. بحث وتصفية البيانات (استعلام) ، 3. إظهار النتائج. فالاستعلام هو اهم شئ تقدر تستفيد منه في الاكسس ، وحتى لما نستعمل الكود ، نستخدم الاستعلام للسجلات اللي نريدها (يعني نجهز السجلات اولا بالاستعلام) ، ثم نكمل الباقي بالكود ، والذي هو أبطأ بكثير في عمله من الاستعلام جعفر2 points
-
2 points
-
2 points
-
شكرا اخوي عبدالرحمن على الملاحظة يبدوا ان هذه هي مشكلة اخونا عبدالله قدور2 points
-
جزاكم الله خيرا اخواني الكرام واخص صاحب الموضوع اخونا سعيد لي تجربة مع رقم اللوحة الام عملت برنامج وجعلت الحماية على اللوحة الام ولكني تفاجأت في يوم ما ان بعض شركات الحواسيب رقم اللوحة الام متشابه في جميع اجهزتها طبعا التجربة كانت على عدة حواسيب من اصدار معين2 points
-
السلام عليكم هذا رابط ومن منتدانا مع اني لم ادخل في تفاصيله ولكن اعتقد انها تجربة بها فائدة تحياتي2 points
-
ايش رأيك في مثال موسع أكثر نستطيع ان نعمل قاعدة التحقق من الصحة في كود ، مثلا: اعمل حقل اسمه int_No ، وعلى حدث "الحالي" للنموذج ، استعمل كود مثل هذا: Private Sub Form_Current() If Day(Date) <= 5 Then Me.int_No.ValidationRule = "is null or <=5" ElseIf Day(Date) <= 10 Then Me.int_No.ValidationRule = "<=10" ElseIf Day(Date) <= 15 Then Me.int_No.ValidationRule = "isnumeric([int_No])=true" ElseIf Day(Date) <= 20 Then Me.int_No.ValidationRule = "isnumeric([int_No])=false" ElseIf Day(Date) <= 25 Then Me.int_No.ValidationRule = "between 15 and 30" Else Me.int_No.ValidationRule = "between 1 and 14" End If End Sub . فحسب يوم الشهر ، تتغير قاعدة التحقق من الصحة مرونة تامّه ، مو مثل الجدول جعفر2 points
-
أخي الحبيب رجب جاويش بارك الله فيك وجزتي خيراً على حلولك الجميلة مجرد سؤال : لما قمت بكتابة أكواد في حدث كل ورقة عمل على حدا .. ما رأيك بإزالة كل الأكواد في حدث كل أوراق العمل ووضع الكود التالي في حدث المصنف Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Address = [B4].Address Then Application.EnableEvents = False Sheets("1").[B4] = Target.Value Sheets("2").[B4] = Target.Value Sheets("3").[B4] = Target.Value Application.EnableEvents = True End If End Sub تقبل وافر تقديري واحترامي2 points
-
أخى الحبيب ياسر بالعكس أنا أسعد كثيرا بهذه النوعية من النقاش لانها تثرى الموضوع ويستفيد منها الجميع أولا : النقطة الخاصة بتحديد الأعمدة ثم كليك يمين على رؤوس الأعمدة ثم يختار الأمر Hide يكون سهل فعلا فى حالة الاخفاء ولكن فى هذه الحالة أنت تريد تحديد الأعمدة المراد اظهارها وليس اخفاءها وبالتالى لا يمكن تنفيذ ذلك الا من خلال الكود والا كان الأمر فى منتهى الصعوبة بدون الكود2 points
-
السلام عليكم أفضل تحية لأخى الحبيب ياسر على فتح موضوعات تفيد الجميع وتفتح نقاشات جميلة تعود بالنفع على جميع الأعضاء بالنسبة لهذ الموضوع ( اخفاء جميع الأعمدة ما عدا أعمدة محددة ) الكود الذى قدمه أخى المبدع سليم هو أبسط كود يقوم بعمل المطلوب فعلا ولكن لاثراء الموضوع هذه فكرة أخرى وفيها يتم تحديد الأعمدة المراد عدم اخفاءها عن طريق الماوس داخل inputBox وفى حالة تحديد أعمدة غير متجاورة يستخدم مفتاح CTRL أثناء التحديد Sub ragab() Dim Rng As Range On Error Resume Next Application.DisplayAlerts = False Set Rng = Application.InputBox(Prompt:="قم بتحديد الأعمدة التى لا تريد اخفاءها عن طريق الماوس وعند اختيار أعمدة غير متجاورة اضغط مفتاح Ctrl أثناء التحديد", Title:="اخفاء مخصص", Type:=8) Application.DisplayAlerts = True If Rng Is Nothing Then Exit Sub Columns.Hidden = True Rng.EntireColumn.Hidden = False End Sub2 points
-
حياك الله اخي الكريم شاهد المرفق شاهد حدث في الحالي للنموذج وحدث بعد التحديث لحقل birthdate بإمكانك اخفاء حقل calculate فيما بعد بالتوفيق Tccst.rar2 points
-
وعليكم السلام اخي الاستاذ عبد العزيز احسن الله عزاكم في فقيدكم ، ولا اراكم الله مكروها فيما تحبون ، وازال عنكم وبلدكم العزيز الهم والغم ، وابدلكم بها الخير والامن والاستقرار ، انه على كل شئ قدير ، ونعم بالله. لوسمحت تعطيني مثالين بالتفصيل على الذي تريد ، من واقع بياناتك (سواء على ملف اكسل او صورة او حتى كتابة يد) ، حتى استطيع مقارنة نتائجي به. جعفر2 points
-
يمكن استخدام طريقة تغيير خاصية قابل للتعديل وبالقيمة =نعم ! مع افتراض ان الخاصية تاخذ القيمة لا عند تحميل النموذج فعند تحميل النموذج يكون الحدث وعند التحميل للنموذج Me.AllowEdits = False وعند الضغط على الزر يكون الحدث Me.AllowEdits = true وهنا يظهر استفسار : ماذا بعد التعديل في النموذج هل يتم عودة عدم السماح بالتعديل ام يظل التعديل متاح ؟ فاذا يعود الاقفال اكتب الحدث التالي وعند بعد التحديث للنموذج Me.AllowEdits = False هنا اصبح السناريو : عند تحميل النموذج اول مرة غير متاح .... عند النقر على الزر متاح ... بعد التعديل يعود عدم السماح بالتوفيق2 points
-
السلام عليكم ورحمة الله وبركاته برنامج الجدول المدرسي الاصدار الثاني مقدمة عامة عن عمل البرنامج: يصلح لجميع المدارس ايا كان نوعها في اي قطر من الاقطار العربية وذلك للميزات والامكانيات التالية: مميزات البرنامج 1 - عدد الحصص اليومية 12 حصة يتمدد وينكمش من 6 حصص الى 12 حصة. 2 - عدد ايام الاسبوع 7 ايام يتمدد وينكمش من 5 ايام الى 7 ايام. 3 - عمل قوائم للفصول لكل مدرس وامكانية التبديل بينها وبين قائمة كل الفصول. 4 - يتسع 120 معلم و120 فصل و120 مادة. 5 - التحكم في عرض اوراق المصنف يمينا او يساراً ========================= امكانيات البرنامج 1 - استخراج جداول الفصول (الكل او بالاختيار) مع احتواء ثلاثة جداول لورقة الطباعة 2 - استخراج جداول المعلمين (الكل او بالاختيار) مع احتواء ثلاثة جداول لورقة الطباعة 3 - استخراج جداول المواد(الكل او بالاختيار) مع احتواء ثلاثة جداول لورقة الطباعة 4 - استخراج جداول اجمالي الفصول 5 - استخراج جداول اجمالي المعلمين الاعدادات الاولية في بداية العمل على البرنامج في الرئيسية 1 - غير العام وبداية العمل بالجدول في الخلايا D2:D3 2 - غير العناوين للمحافظة والادارة والمدرسة في الخلايا B6:B8 3 - اضغط زر حذف جميع البيانات لحذف جميع البيانات في المصنف 4 - ادخال اسماء الايام في جدول الاسبوع خمسة ايام افتراضية 5 - تحديث قائمة الحصص باختيار عدد الحصص التي تريدها في الرئيسية انشاء قوائم للفصول لكل مدرس في الصف المقابل للمدرس في الاعمدة F:O حول البرنامج برنامج مجاني الاصدار الثاني برمجة / خبور خير باستشارة الاستاذ / محمدي عبد السميع الذي سيقوم بالردعلى استفساراتكم خبور خير برنامج الجدول المدرسي الاصدار الثاني.rar1 point
-
اخى وحبيبى فى الله واستاذى الجليل انا اتعلم منكم وعلى يديكم المنتدى بالنسبة الى كحديقة تكسوها الاشجار المثمرة وانتم اساتذتى كالثمار المتنوعه لكل اسلوبه ومنهاجه ولكل طريقه وطريقته ولكن اولا واخيرا لا غنى عنكم جميعا نسأل الله تعالى ان يرزقكم بره وهداه وجنته وان يرزقكم سعة فى العلم وبركة فى العمر والاهل والولد والله مهما قدمنا لكم لن نوفيكم قدركم وحقكم نسأل الله تعالى ان يجعل كل اعمالكم خالصة لوجهه الكريم1 point
-
معي تمام اكسس 2013 وويندوز 7 وهنا ولعل به فائدة بالتوفيق1 point
-
انا شخصيا افضل النماذج المنبثقة وتوسيطها فى الشاشة فعند نقلها الى جهاز اخر تبفى كذلك وارتاح من مسالة دقة الشاشة1 point
-
حياك الله انا شخصيا لا أميل الى تغيير إعدادات جهاز العميل ، ودقة الشاشة هي احد تلك الاعدادات ، فانا مستخدم ، واستعمل مجموعة برامج في نفس الوقت ، ومتأقلم على هذا الوضع ، ويجيني مبرمج يغير اعداداتي ، واويلاه فجدا مهم ان القى بدائل لبرامجي ، عن طريق برامجي ، ولبرامجي فقط ، وبدون تغيير اعدادات الكمبيوتر او الريجستري جعفر1 point
-
1 point
-
حياكم الله اخواني وشكرا على مشاركتكم جميعا الاستاذ محمد عصام ابا جودي .. اولا ربنا يبارك لك في الجيجاوات اللي عندك هههههه شوف السطر هذا بالنسبة لرقم الهارد ... وبالنسبة للماذر بورد ... خلينا نشوف باقي المشاركات لنتبين الموضوع اكثر .. Set obj_Drive = obj_FSO.GetDrive("c:\") الاستاذ جندبي الاستاذ خليل والاستاذ رضا ماقصرتوا ومشكورين على المشاركة وربينا يوفقنا ويوفقكم جيمع الأستاذ ابو خليل ... بالنسبة لرقم المعالج انا حصل لي نفس الموضوع واليوم تحديدا ... ومع ثلاثة اجهزة ولكن توقعت ان الخطاء مني انا عند اخذ بيانات الأجهزة لأني كنت مستعجل .. وكنت مأجل ذكره الى ان اتأكد .. والحمد لله انك أكدت الموضوع . وعموما ... بالإمكان استخدام الثلاثة .... كشروط .. وهذا ما استخدمه انا .. شكرا لكم وبالتوفيق للجميع1 point
-
1 point
-
السلام عليكم أخى الحبيب ياسر أحسنت أخى الحبيب فكرتك أفضل بكتييييييييييير جدا طبعا تسلم ايديك1 point
-
1 point
-
اخوي الفاضل ابا جودى قم بسترداد الوحده النمطيه والنموذج وقم بتعديل من النموذج علي نعم او لا وغيرها من هناك ثم ضع كلمه Dialog.Box في اول اكوادك العادية في النموذج وللافادة اكثر راجع رابط اخوي جعفر اعزة الله عند هذا السطر How to use it Download the demo database below and copy (drag & drop) the following into your application وهو الخاص بكيفيه الاستخدام والتي لم انتبه لها من قبل شكرا وسامحني علي رقاقه اللغه في الشرح1 point
-
جزيت خيراً أخي الغالي محمود عند الضغط على زر الأمر إنشاء نسخة مستقلة عن الحالة يحدث خطأ في السطر التالي wbTemp.SaveAs ThisWorkbook.Path & "\" & "اسم الملف.xlsx", 511 point
-
1 point
-
وعليكم السلام تفضل ، عملت هذه الحقول في الاستعلام: . وهذا كود كل حقل ، ولا تهتم للمسميات الانجليزية ، فانا وضعتها هنا حتى يتم كتابة/قرأة الكود بالطريقة الصحيحة: magmoa: Nz([althryry],0)+Nz([alsafhy],0)+Nz([alwagp],0)+Nz([almoatapa],0) mohasilh: Round([magmoa]/5,0) natygh: IIf([magmoa]>49.5,"Pass-ناجح",IIf([magmoa]=0,"Absent-غائب","Failed-راسب")) mostwa: IIf([magmoa]>74,"Good-جيد",IIf([magmoa]<50,"Weak-ضعيف","Average-متوسط")) . والنتيجة: جعفر 307.المعلم اليمني المجموع والمحصله.mdb.zip1 point
-
أحسنت أحسنت أحسنت بالفعل لم أنتبه لتلك النقطة ..لأن الكود يقوم على إخفاء الكل ثم إظهار الأعمدة التي تم تخزينها في نطاق .. أعتذر عن الملاحظة التي لم تكن في محلها .. ولكن تظل صعوبة تحديد الأعمدة المتباعدة قائمة وبعدين إنت ذكرت أولاً .. طيب فين ثانياً ..!! مجرد مزحة تقبل وافر تقديري واجترامي1 point
-
هذا الملف من صنع الدكتورة زهرة حفظها الله مع بعض التعديلات يمكن الاستفادة منه والدعاء لها دقة الشاشة.zip1 point
-
السلام عليكم تفضل هذا النموذج يعطيك نظرة شاملة عن حقول التواريخ: . قاعدة التحقق من الصحة في الحقول Date_1 و Date_2 ثابته في الجدول ، مثلا: . وقاعدة التحقق من الصحة في الحقول Date_11 و Date_22 متغيرة في الجدول على اساس السنة ، مثلا: . بينما قاعدة التحقق من الصحة في الحقول Date_111 و Date_222 متغيرة في النموذج ، مثلا: . والكود يمكن يكون: سواء Between [Date_From] And [Date_To] او اذا التواريخ موجودة في نموذج خارجي Between [Forms]![frm_Dates]![Date_From] And [Forms]![frm_Dates]![Date_To] . والتجربة: . النتيجة اللي كنت اريد ان اوصل لها هي ، عندما تكون التواريخ متغيرة في النموذج (وهذا رأي اخوي ابو خليل كذلك) ، فيكون عندك تحكم افضل ، وتغييره يكون اسهل ، وخصوصا اذا كان البرنامج عند العميل ، لأن برمجة النموذج ممكنه جعفر 306.Validation_Rule.mdb.zip1 point
-
عزيزي ومع اني اشك ان هناك طريق اقصر لما تريد ولكن كحل لمشكلة ظهور الرسالة في المعيار للاستعلام استبد المعيار السابق بالتالي [Forms]![S1M]![اسم الطالب] بالتوفيق1 point
-
بارك الله فيك أخي الحبيب المتميز أحمد الفلاحجي .. أحسنت عملاً ..هكذا يجب أن يكون المتعلم صبور ومثابر ولا يسأم ولا يمل ولا يكل ولا .. ولا .. ولا حاجة خلاص خلصت كلام تقبل تحياتي1 point
-
بسم الله ما شاء الله عليك أخي الحبيب الزباري موضوع بسيط جداً لكنه في غاية الروعة والجمال ، وجماله يكمن في بساطته حيث أن الكثير ممن يتعاملون مع الإكسيل لا يعرفون استخدامات الدالة ولا يعرفون البارامترات المستخدمة .. من ثم تأتي الصورة لتعبر بشكل جميل عن استخدام الدالة ومعرفة البارامترات الخاصة بها تقبل وافر تقديري واحترامي1 point
-
حياك الله اخي الكريم من ورقة الخصائص ...... تنسيق .... اجعل العناصر غير مرئية .. مرئي = لا ثانيا .. في حدث بعد التحديث للقائمة المنسدلة case ضع الكود التالي If Me.case.Value = "follow up" Then Me.mth1.Visible = True Me.mth2.Visible = True Me.mth3.Visible = True Else Me.mth1.Visible = False Me.mth2.Visible = True Me.mth3.Visible = True End If mth1 : هو 1month في مثالك وبإمكانك التطبيق على باقي العناصر بنفس الطريقة ...1 point
-
1 point
-
عدم الرد من صاحب السوال جعلني ادخل مرة اخرى اواكتشف اني لم ارفق الوحدة المسؤولة عن الترجمة تفصل والصقها في صفحة وحدة نمطية جديدة Public Ok, Cancel, ABORT Public RETRY, IGNORE, YES, NO Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Sub MessageBoxH(hwndThreadOwner As Long) Dim hInstance As Long Dim hThreadId As Long hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() m_hHook = SetWindowsHookEx(WH_CBT, AddressOf _ MsgBoxHookProc, hInstance, hThreadId) End Sub Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then SetDlgItemText wParam, IDOK, Ok SetDlgItemText wParam, IDCANCEL, Cancel SetDlgItemText wParam, IDABORT, ABORT SetDlgItemText wParam, IDRETRY, ABORT SetDlgItemText wParam, IDIGNORE, ABORT SetDlgItemText wParam, IDYES, YES SetDlgItemText wParam, IDNO, YES UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function1 point
-
شكرا اخي جعفر على هذه النوادر الجميلة وتفضل اخي عبدالله يمكنك كتابة اي شيء على الزر Dim resalh As Integer Ok = "أكيد موافق" Cancel = "not agree" MessageBoxH Me.hwnd resalh = MsgBox("تفضل هذه الخلطة في اللغة", vbOKCancel, "رسالة")1 point
-
بسم الله الرحمن الرحيم اليوم سنقوم بشرح طريقة ربط الفيجوال بيسك بالإكسيل اولا نعمل مشروع جديد عبارة عن فورم وواحد كمبوبوكس وسته تكست وثمانية ليبل وخمس أزرار وملف اكسيل بامتدادxlsx واسمه aseel امتداده اظن لا يدعم وحدات الماكرو بس عادي مع الفيجوال شغال بنفس ترتيب الشكل الاتي: خلصنا الشكل السابق ندخل علي الشغل الجديد بقي كلنا أكيد سمعنا عن المتغيرات وكلنا تعاملنا معاها قبل ما نشوف المتغيرات الفيجوال عشان نربطه بالإكسيل لازم له مراجع ومتغيرات عامة على مستوى المشروع بأكمله إيه الكلام دا بيتعمل ازاي المرجع دا ولا بنجيبه منين شوفو معايا الصور بعد الخطوات دي ياترى بنعرف نضيف موديول زي ما بنضيف فورم جديد كدا اللي بيعرف يضيف اللي مش عارف ينزل للصورة معايا ويشوف ايه البيانات دي يامعلمين دي بقي المتغيرات العامة اللي بنقول عليها وبتكون علي مستوى المشروع بأكمله يعني لازم تتحط في موديول ولتبسيط الكلام اللي فوق دا بطريقة سهلة اول سطر Public YXL As New Excel.Application YXL دا متغير يشير الى برنامج الاكسيل نفسه بمعنى عندما نريد ان نكتب في الاكسيل Application. Visible = False نكتبه كدا YXL. Visible = False اكيد وصلت الفكرة ولو مش وصلت نكمل مثال كمان المتغير ونظيره في الإكسيل YWB= Workbook YSheet= Worksheet YRng= Range اكيد الامور اصبحت سهلة كدا أي كود في الإكسيل نستبدل المذكورين في أعلاه بنظره في الإكسيل وسيعمل الكود بإذن الله يعني مش هتخترع اكواد جديدة هي نفس القديمة بس تعديلات طفيفه المهم الكل يكون عمل الفورم والموديول والاداوت كما ذكرت سابقا بالترتيب الموجود عشان الاكواد متتبدلش مع الادوات نيجي بقي للاكواد Private Sub Combo1_Click() 'جدا الكمبوبوكس ومنه بيتم جلب البيانات بمعلومية الرقم والكود طبعا مفيهوش جديد نفس اكواد الاكسل With YSheet LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row For iRow = 6 To LastRow If .Cells(iRow, 2) = Combo1.Text Then Text1.Text = .Cells(iRow, 2) Text2.Text = .Cells(iRow, 3) Text3.Text = .Cells(iRow, 4) Text4.Text = .Cells(iRow, 5) Text5.Text = .Cells(iRow, 6) Text6.Text = .Cells(iRow, 7) End If Next End With End Sub Private Sub Command1_Click() Dim lstrow As Long 'ودا كود ترحيل البيانات ونفس الشئ مش جديد كل اللي اتغير اللي ذكرنااه If Text1.Text = "" Then MsgBox "íÌÈ ÇÏÎÇá ÌãíÚ ÇáÈíÇäÇÊ" Else lstrow = YSheet.Range("b20000").End(xlUp).Row + 1 YSheet.Cells(lstrow, "b").Value = Text1.Text YSheet.Cells(lstrow, "c").Value = Text2.Text YSheet.Cells(lstrow, "d").Value = Text3.Text YSheet.Cells(lstrow, "e").Value = Text4.Text YSheet.Cells(lstrow, "f").Value = Text5.Text YSheet.Cells(lstrow, "g").Value = Text6.Text Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" MsgBox ("ÊãÊ ÇáÚãáíÉ ÈäÌÇÍ") End If End Sub Private Sub Command2_Click() 'ودا كود اظهار برنامج الاكسيل بردو غيرنا اللي اشرنا ليه فقط YXL.Visible = True End Sub Private Sub Command3_Click() ' ودا لاخفاء برنامج الاكسل YXL.Visible = False End Sub Private Sub Command4_Click() 'لحفظ البرنامج المفروض المتغير يكون شغال بس مش عارف سبب المشكلة ايه حاليا فقلت اجرب الكود العادي اشتغل تمام مشي حالك 'åäÇ ãÔ ÚÇÑÝ ÇáãÊÛíÑ åäÇ ÞÝÔ ãÚÇíÇ æãÔ ÚÇíÒ íÍÝÙ ÞáÊ ÇÌÑÈ ÇáßæÏ ÇáÚÇÏí ÇÔÊÛá ÞáÊ Òí ÇáÝá 'YWB.save ActiveWorkbook.save End Sub Private Sub Command5_Click() 'وطبعاخروج YXL.Quit Set YXL = Nothing End End Sub Private Sub Form_Load() 'هنا بنستدعي ملف الاكسيل من نفس مسار البرنامج بتاعنا ونفتحه YXL.Workbooks.Open App.Path & "/aseel.xlsx" 'اخفاء البرنامج بعد فتحه طبعا YXL.Visible = False 'هنا بقي قولنا له ان يخلي Ysheet دي تبقى الشيت الاول والاكس شيت تبقي الشيت التاني Set YSheet = YXL.Worksheets(1) Set XSheet = YXL.Worksheets(2) عادي ليبل وبياخد بياناته من خليه معينه Label7.Caption = YSheet.Range("a1").Value Label8.Caption = YSheet.Range("a2").Value With Combo1 'ودا ا لكمبوبوكس بندرج فيه بيانات الصف b For Each Data In YSheet.Range("b6:b" & YSheet.Cells(Rows.Count, "b").End(xlUp).Row) .AddItem Data Next End With End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ودا بقي عشان لما تدوس علي علامة الاكس فوق ميخرجشي من البرنامج ويسيب ملف الاكسيل مفتوح ومخفى '' YXL.Quit Set YXL = Nothing End End Sub وبكدا نكون انتهينا من وضع الاكواد اظن الكل واخد باله انه مفيش جديد وهو دا بالتحديد مفيش جديد كل اللي عملناه واحد تايه وعرفنا السكه خلاص وبعدين محدش ينسى يعمل ملف اكسيل اه بعد دا كله يجي حد يقولي البرنامج مش شغال ليه اقوله فين ملف الاكسيل بعد الاطلاع علي البرنامج هيجي واحد يقولي ايه القلب الجميل اللي علي الفورم دا اللي مكان السهم اهو دا من ضمن اللمسات الجمالية وبيتعمل ازاي يامعلم الشرح بسيط ف الصورة معلش بدل ما اكتب الماوس كتبت الموس شغال بقى اعذروني انا بعمل الشرح في وقت قياسي وانا شغال مرفق البرنامج ومعاه القلب عشان تعملوه مكان السهم يارب اكون وصلت المعلومة صح واي خطأ منى فدا لجهلى اعذروني منتظر الردود علي فكرة الدرس دا تقريبا بنسبة كبيرة يعتبرحصرى لمنتدى اوفيسنا انا بحثت عن ربط الفيجوال بالاكسيل كثيرا وكثيرا وكود من هنا وكود من هنا حتى اكتملت الصورة امامي وتوصلت لهذا والحمد لله مع تحياتي ياسر العربي يتبع ربط الفيجوال بالاكسل.rar1 point
-
بسم الله الرحمن الرحيم 1- المكتبات والادوات DLL & OCX 2- كيفية تسجيل المكتبات والأدوات Dll & OCX في النظام 3- كيفية إضافة المكتبات وأدوات خارجية للفيجوال والعمل عليها ما هي فوائد استخدام ملفات ال DLL او لماذا نستخدم ملفات DLL: ماذا تعني DLL: هي اختصار لمجموعة الكلمات التالية Dynamic link libraries لمحة سريعة عن DLL: هي عبارة عن ملفات مترجمة(Compiled files) شبيهة الى حد بعيد جدا بالملفات التنفيذية و التي تحمل اللاحقةExe, ملفات ال DLL يمكن ان تحتوي على Codes او يمكن ان تحتوي على مصادر resources او ممكن ان تحتوي على بيانات Data و قد تجد DLL يحتوي على كل ما سبق ذكره, و لكن الفرق الجوهري بين DLL و Exe هو أنّ ملفات DLL لا يمكن تنفيذها بشكل مباشر و انما يتم استثمارها من قبل تطبيقات اخرى اي ان ملفات DLL ليست مستقلة بحد ذاتها و تحتاج الى تطبيق دائماً للاستفادة منها مع انها تحتوي على اكواد تنفيذية مثلها مثل exe و لكن لا يمكنها ان تعمل بمفردها و يمكنك تخيل ان ملفات DLL هي ملفات مساعدة للتطبيق للقيام بعمله. الهدف الرئيسي من وجود ملفات DLL هو مشاركة الاكود بين العديد من التطبيقات اي استخدام نفس ال DLL من اكثر من تطبيق سواء بوقت واحد او بشكل منفصل. والادوات ocx تشبه نفس وظائف dll بصورة كبيرة كيفية تسجيل الأدوات نفترض ان لدينا ملف dll او ocx نريد اضافة للنظام للعمل عليه من داخل الفيجوال بطريقة سليمة الطرق كثيرة ولكن نختصر ونضع الخلاصة نفترض انا لدينا اداة اسمها actskin4.ocx نقوم بنسخها لملفات النظام اذا كان 32 لملف c:\windows\system32\actskin4.ocx اما اذا كان النظام 64 bit فلا بأس من نسخ الملف مرتين في المسارات الاتيه c:\windows\system32\actskin4.ocx C:\Windows\SysWOW64\actskin4.ocx ونقوم بعمل نوت باد اذا كان النظام 32 نضع هذا السطر regsvr32 c:\windows\system32\actskin4.ocx ونحفظه بامتداد bat وليكن اسم الملف reg.bat اما نظام ال64 نضع الاسطر التالية regsvr32 c:\windows\system32\actskin4.ocx regsvr32 c:\windows\SysWOW64\actskin4.ocx وتعمل لكلا النظامين ويتم الحفظ ايضا بامتداد bat واسم الملف ليكن هكذا reg.bat وغالبا يتم فتح الملف بعد ذلك كمسئول كليك يمين وRun admin لتظهر نافذة تقول انه تم التسجيل بنجاح ولقد وضعت برنامج في المرفقات للتسهيل علي البعض في تسجيل الاداوت كيفية إضافة المكتبات وأدوات خارجية للفيجوال بعد ان قمنا بنقل الادوات الى ملفات النظام سواء 32bit or 64bit وتم تسجيلها كما بالشرح السابق نقوم بفتح مشروع جديد وبكدا نكون تعلمنا طريقة وضع الادوات علي الفورم ناتي لكيفية التعامل معها برمجيا وكمثال هنعمل علي نفس الاداة المدرجة في اعلاه وهي actskin4.ocx ما فائدة هذه الاداة : تقوم بتغيير المظهر العام لوجهه الفورم والازرار الى واجهات skinمعدة للتعامل مع هذه الاداة وهي من اللمسات الجمالية للبرنامج بتاعنا عيب الاداة : ان الليبل الاصلي لا يظهر عند تشغيل البرنامج ولا اداة image ويأتي مع الأداة ليبل بديل لليبل الاصلي يظهر مع الاداة وتستبدل الimage بال picture نأتي لكيفية التعامل معها برمجيا اولا نقوم بانشاء مشروع جديد واضافة الاداة كما سبق ويتم وضع الكود الخاص بالاداة في حدث تحميل الفورم وممكن وضعه باي حدث نشاء كزر مثلا لتغيير الskin كود التشغيل يجب اولا ان يكون لديك ملفات skin ليتم التطبيق عليها عن طريق الاداة قمت بارفاق بعض ال skin للتطبيق عليها ووضعتها داخل مجلد داخل البرنامج بتاعنا وسميته كمثال skin الكود البرمجي Private Sub Form_Load() ' سطر استدعاء وتحميل ملف الskin من مسار البرنامج داخل المجلد skin اسمه Yasser.skn Skin1.LoadSkin (App.Path & "/skin/yasser.skn") 'سطر تطبق ما تم استدعائه Skin1.ApplySkin Me.hWnd End Sub واحفظ مشروعك وقم بتشغيله لترى هذا شوف الفرق اي استفسارات توضع ف موضوع الردود والاستفسارات الى اللقاء والسلام عليكم مع تحياتي ياسر العربي يتبع مرفق برنامج تسجيل الاداوت والمشروع المنفذ ف الشرح RegOCX.rar مشروع لمسه جمالية.rar1 point
-
أخي الكريم ياسر لسه مشفناش العززززززززز ولا الفلوس .. إخواني الكرام تم إضافة مرفق به نموذج كامل لما يتم طباعته ..النموذج لمدرسة اشتغلت عليها يقرب عددها حوالي ألف طالب لمن يهمه الأمر يطلع على الملف المرفق ليتعرف على شكل المخرجات التي سيتسلمها تقبلوا تحياتي1 point
-
اولا يجب عمل تكامل مرجعي بين الجدولين في خصائص العلاقة وليس هذا سببا في عدم تمكنك من تطبيق الحل وانما السبب هو لا بد من وضع معيار في استعلام المعاهد ( انظر المعيار في استعلام مربع المعاهد ) + تحديث مربع المعاهد بعد كل اختيار في مربع الادارات ( انظر صفحة المحرر ) انظر المرفق التوجيه3.rar1 point
-
السلام عليكم أما بالنسبة لملفك :: إذا أردت أن يتم تنفيذ الماكرو عند الخلية النشطة فقم بتقعيل الخيار Use Relative References قبل تسجيل الماكرو وسيعمل كما تريد إن شاء الله أما بالنسبة لبرنامج تسجيل مايدور على الشاشة فإليك إياه في المرفقات أخوك أبو البراء Screen_EXE.rar1 point
-
1 point
-
أخي الحبيب / سالم شباني أولاً : أشكرك على بدء المتابعة ثانياً : الوجاب فين ؟؟؟ ثالثاً : هل قرأت الدرس جيداً وعلمت أنني كتبت هذا الكود لتنفيذه في النافذة الفورية Immediate Window رابعاً : يمكن تنفيذ الكود بطريقة عادية في الموديول أيضاً ( وهذا ما أعتقد أنك قمت بعمله ، إذ أن رسالة الخطأ تختلف من مكان لآخر ففي النافذة الفورية تظهر رسالة الخطأ Invalid watch expression أما في الموديول تظهر الرسالة التالية Invalid or unqualified reference أي أن المرجع غير صحيح كما ذكرت خامساً : لو أردت التعلم حقاً فعليك كتابة الكود وليس نسخه ولصقه!!!!!!! سادساً : حتقولي عرفت إزاي ؟؟؟ حقولك إن الVBE حساس جداً للفواصل والنقط والمسافات ( في المثال فيه مسافة بعد ActiveCell احذف المسافة وقوللي ع النتيجة ) سابعاً : ياريت متنساش تكتب الكود يدوي أفضل ( أفضل طريقة لتعلم الأكواد حتى تتعود على كتابة الكود ) ثامناً : آسف للإطالة تاسعاً : بارك الله فيك وإلى الأمام دائماً أخوك أبو البراء1 point
-
إخواني نسيت الواجب مش اللي أنا حاحله ، طبعاً اللي إنت حتحلوه!!!! * من ضوء ما درست قم بعمل دالة UDF تقوم بحساب مساحة الدائرة وأعطها الاسم CircleArea * قم بشرح مبسط لهذا الكود: Set Report = Worksheets("Sheet1").Range("A1:E10") Report.Select Range("b1").Activate Range("E10").Value = "Khalil" X = Range("E10").Value MsgBox X1 point
-
السلام عليكم ورحمة الله وبركاته الأخ الحبيب أيمن بدر جزاكم الله خيراً على هذا التشجيع وأرج أن ينضم إلينا كثير من الأعضاء حتى تعم الفائدة أخي وحبيبي أبو عبد الرحمن المقدسي يبدو أنك من أكثر المواظبين على هذه الدورة ، شكلك ناوي تجيب امتياز أما بالنسبة للبهارات خايف تكون كتير تقوم الناس يجيلها إمساك وساعتها بدل ميدعولي حيدعو عليا أتمنى أن يكون الدرسين نالوا إعجابكم واستفدتم منهما وتكون عملية الاقتحام إلى ذلك العالم الشيق الممتع تمت بسلام إليكم الصاروخ الثالث أقصد الدرس الثالث ( الفصل الأول _ الجزء الثالث ) كان فيه مثال مرفق بس أنا نسيت أحمله على الفلاشة ، وأوعدكم بكرة حيكون المثال معي إن شاء الله ChapterOne_3.rar ChapterOne_C.rar1 point