نجوم المشاركات
Popular Content
Showing content with the highest reputation on 07/01/22 in مشاركات
-
السلام عليكم ورحمة الله وبركاته ,, الاخوة الكرام كل عام وحضراتكم بخير موضوعنا اليوم جديد وقد يهم الكثير من مستخدمى الاكسس , من المعروف ان الاكسيس يمكنه ضغط ملف او فك ضغطه باستخدام اوامر الشل الخاصة بالويندوز كما لو انك استخدمت الخاصية الموجودة فى الصورة وفى رأيى لا يمكن الاستفادة منها بهذا الشكل وبالتالى قمت بتصميم برنامج .Net يتكامل مع برنامج الاكسيس ويقوم بالتالى : 1- ضغط ملف / مجلد وحمايته برقم سرى . 2-فك ضغط ملف مضغوط برقم سرى . نبذة عن منطق التصميم والبرمجة : كان من الطبيعى انى اقوم بانشاء جدول او اكثر فى الاكسيس لحفظ البيانات المطلوبة ومسارات الملفات واقوم بقراءتها بالبرنامج الجديد ولكن فكرت فى طريقة اكثر احترافية وهى عمل المطلوب بالكامل فى الاكسيس وتمرير المسارات والارقام السرية من متغيرات VBA الى Arguments الخاصة بالبرنامج الجديد وكانت النتيجة جيدة بفضل الله . يتم فتح البرنامج عن طريق هذا الكود : Call Shell("""" & MyApp & """ """ & Operation & """ """ & strSource & """ """ & strDest & """ """ & zipPwd & """", 1) حيث يتم تمرير نوع العملية اولا وذلك لأن البرنامج يقوم ب3 وظائف , وبالتالى نوع العملية تقوم بتوجيه البرنامج للوظيفة المطلوبة ثم بالمسارات والباسوردات الخاصة بها سواء ضغط او فك ضغط يقوم بترجمتها بمعرفته . انظر للامثلة المرفقة : مثال لضغط ملف وحمايته بباسورد بضغطة زر وبكل سهولة وسرعة : مثال لفك ضغط الملف بالمثال السابق : ملحوظة : بالنسبة للامتداد الذى يتعامل معه البرنامج هو zip فقط وبالتالى لن يصلح لباقى الصيغ . اعذرونى ملحقتش اعمل تصميم جذاب ولكن المهم الفكرة . بالاضافة الى ان اكواد VBA يمكن اختصارها وتحسينها بواسطة الاساتذة . مرفق برنامج الاكسيس + البرنامج المساعد .. طبعا الموضوع متعوب عليه المطلوب فقط دعوة فى هذه الايام المباركة جزاكم الله خير . فى انتظار آرائكم ومقترحاتكم بعد التجربة .. دمتم بخير Zip-UnZip Access Amr Ashraf.rar3 points
-
يمكنك استعمال هذه المعادلة في الخلية D3 =IF(OR(A3=0,A3=""),"",C3-22) بالتوفيق2 points
-
2 points
-
2 points
-
يمكنك استعمال هذه المعادلة في الخلية D12 =IFERROR(IF(INDEX(D$6:D$10,MATCH($C12,$C$6:$C$10,0))="",CHAR(251),IF(COUNTIF($C12:C12,CHAR(252))>=$L12,CHAR(251),CHAR(252))),"") مع تغيير نوع الخط في هذه الخلية إلى wingdings لتظهر علامة الخطأ والصواب مع سحب المعادلة يمينا ثم أسفل بالتوفيق2 points
-
وعليكم السلام تفضل هذا الملف لأحد الاساتذة .... اتمني ان يلبي طلبك الملف حفظ عدد من الاوراق.xlsm2 points
-
1 point
-
ذكريات و تحديث اذاعات البث المباشر تحديث المرفق اعادة تفعيل الـ Shift تقليل حجم مستوى الصوت عتج الفتح ازالة روابط اذاعات بث الغناء اخص بكل الشكر والعرفان بالجميل اخى الحبيب الاستاذ @Amr Ashraf لتنبيهى لتدارك خطأى عبر نشر اذاعات بث الغتاء اللهم انى استغفرك واتوب واليك اللهم اغفر لى يارب وارحمتى واعفو عنى يارب العالمين Radio (V2).mdb1 point
-
كيف ما وصلت لنتيجة ... بالعكس الكود والمرفق لدي يعمل على اكمل وجه ... والدليل يقوم بالحاق السجلات الغير موجودة في الجدول فقط الظاهر البشمهندس يتحدث بون تجربة للمرفق ... او انه فهم السؤال بطريقة اخرى1 point
-
السلام عليكم ورحمة الله وبركاته , كل عام وحضراتكم بخير مشاركة مع الاخوة على حسب فهمى لطلبك , بالنسبة لمنع التكرار عملت مفتاح اساسى فى الجدول رقم 2 ليمنع قبول السجلات المكررة . بالتوفيق الحاق البيانات(Amr).accdb1 point
-
1 point
-
1 point
-
السلام عليكم ورحمة الله تم التعديل على الماكرو بعد إضافة "أمر الطباعة" (طباعة الكشف لكل صف يتم اختياره في الفورم) ليعمل الماكرو على عدة صفوف (أقسام)... كشوفات الطلبة.xlsm1 point
-
هدية رائعة من شخص مبدع .... لي ملاحظتن : الاولى : عند ضغط الملف او فكه لو ترك المجال لضغط الملف بدون او بكلمة مرور .... حتى تكون هناك مرونه في استخدام البرنامج حسب ما يرده المستخدم . الثانية : عند ضغط الملفات ذات الاسماء العربية تظهر في الملف المضغوظ على شكل علامات استفهام الثالثة : اشكرك على الهدية القيمة التي نحتاجها كثيرا وخاصة لعمل النسخ الاحتياطية ....1 point
-
السلام عليكم الاخ الكبير @بن علية حاجي اتوقع انه في طريقة باستخدام لغات برمجة تقوم بقراءة ملف اكسل يحتوي على اسماء ثم عن طريق كود برمجي يحول الى اسم ممدود فانا اعتقدت انه يمكن عمل كود ماكرو و الله اعلم كل الاحترام و التقدير لكم1 point
-
السلام عليكم ورحمة الله أعتقد جازما أن ذلك غير ممكن في الإكسيل ولو باستعمال ماكرو لأن الماكرو لا يمكن أن يميز بين الحرف الذي قمت بتمديده يدويا والحرف الذي لم تقم بتمديده في الخلايا... (هذا ممكن في الوورد باستعمال بعض الخصائص واختصارات لوحة المفاتيح)... والله أعلى وأعلم.1 point
-
اشجعك انك تتعلم اى لغة .net ولو بتدور على الاسهل هيبقى VB.NET وفى الآخر النتيجة واحدة بس هتبقى اسهل لأى مبرمج اكسيس انه يدخلها ويفهمها بسرعة , بالنسبة لى حبيت التجربة الجديدة وسينتاكس مختلف عشان ابتدى من الصفر والحمدلله التجربة جيدة . مبدأياً انا مازلت مبتدئ معنديش اللى يؤهلنى انى اقدم نصايح او دروس فيها حالياً , وخاصة ان على النت فيه عمالقة تشرح من الصفر للاحتراف . النقطة الثانية الوقت والجهد المبذول فى موضوع واحد كبير ما بالك لو هتبدأ سلسلة من المواضيع ومع ظروف عملى اعتقد لن استطيع 😊 , بس اعتقد لو فيه حركة فى القسم اظن انى ممكن اشارك بمعلومة او فكرة او تطبيق كما افعل فى الاكسيس1 point
-
بارك الله فيك استاذ مجدى وزادك الله من فضله1 point
-
السلام عليكم ورحمة الله تعالى وبركاته ان اليوم هو ١ ذى الحجة ١٤٤٣ هـ اول ايام العشر من ذى الحجة اسأل الله العلى القدير أن يوفقنا وإياكم فيهن لما يحبه ويرضاه من الأعمال الصالحة وأن يتقبل منا ومنكم إنه خير من سئل و أجود من أعطى وأعظم من غفر وأبر من أجاب كل عام وأنتم إلى الله أقرب وعلى طاعته أدوم ومن الجنة أدنى و أقرب وعن النار أبعد ولفعل الخيرات أسبق و لسنة النبى ألزم ولحب إتباعه أصدق كل عام وأنتم بألف ألف خير عمر مديد بإذن الله فى ظل رضى الله وطاعته عمر مديد بإذن الله مع أحبائكم عمر مديد بإذن الله وأنتم تنعمون بثوب الصحة والعافية عمر مديد بإذت الله وأنتم فى سعادة ورغد وهناء1 point
-
1 point
-
أعلم هذا جيدا فأنا رئيس كنترول في مدرسة ثانوي لكن الكود الخاص بكم لا يعتمد هذا الأسلوب فقط عدلت ألا يزيد عدد الأرقام السرية عن عدد العشرة بالمائة والأسلوب الصحيح: مراجعة ورقة واحدة من كل 10 ورقات يحتاج إلى الكثير من التخطيط أولا لكي يتم برمجته: ماذا لو لم يوجد درجة أعلى من الدرجة المطلوبة في أول 10 ورقات؟ أو ثاني 10 ورقات .... إلخ ؟ هل يتم إنزال الدرجة المطلوبة درجة ؟ أم رصد أعلى ال 10 ورقات ؟ ولكل من هذين الخيارين موااااااال إن شاء الله اساهم في برمجة نسبة ال 10 بالمائة بصورة أدق حسب وقت الفراغ بالتوفيق1 point
-
لنفترض انه لدينا ملف يحتوي على ثلاثة أوراق عمل shets1_shets2_shets3 يقوم هذا الكود بنسخ وتصدير شيت 2و3 على سطح المكتب Sub export_sheets() Dim Fname As String, ws As Worksheet Application.DisplayAlerts = False Sheets(Array("Shets2", "Shets3")).Copy For Each ws In ActiveWorkbook.Sheets ws.UsedRange = ws.UsedRange.Value Next ws ActiveWorkbook.SaveAs Filename:= _ "C:\Users\PC Hicham\Desktop\" & "إسم الملف المستخرج" & ".xlsx", FileFormat:=51 ActiveWorkbook.Close Application.DisplayAlerts = True End Sub لاتنسى تغيير مسار حفظ الملف على حسب الموجود عندك1 point
-
تصدير ( تقرير / تقارير ) الى PDF المميزات 1- مرونة فى اختيار مسار تصدير الـ ( تقرير / تقارير ) 2- اختيار تقرير واحد من القائمة أو أكثر لتصديرهم الى مسار محدد 3-اختيار الاجراء بعد التصدير استعراض او عدم ملف الـ PDF 4-الاكواد فى روتين عام يمكن استدعائها من اى مكان 5-امكانية اضافة طباعة التقارير مع او بدل كود التصدير الى PDF وهذه ميزة كتابة الكود فى روتين عام داخل موديول Export Multi Reports.mdb1 point
-
مربع اختيار غير منضم فى نموذج مستمر1 point
-
اعتذر أستاذ محمد على التأخر لإنشغالى تفضل الملف بعد التعديل جلب بيانت بدلالة فرز او تحديد.xls1 point
-
المطلوب غير واضح من فضلك اشرح الذى تريده بدقة علاوة على أنه لا يوجد درجات فى صفحة الماستر1 point
-
اسف على التأخير تفضل تم التعديل http://www.mediafire.com/file/odau1u3qu9o28ul/برنامج+حضور+وانصراف+ومرتبات.xlsm1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
السلام عليكم هذا برنامج لأستاذنا الكبير ضاحى الغريب عبارة عن برنامج لمتابعة السيارات أتمى أن تجد فيه ضالتك متابعة السيارات.xlsm1 point
-
وعليكم السلام وأهلا بك صديق فى هذا المنتدى -ولو سمحت لو ممكن ترسل أى ملف تصورى وضع فيه ما تحتاجه لكى يتسنى للأخوة مساعدتك1 point
-
1 point
-
السلام عليكم ورحمة الله وبركاته تحية طيبة لكل القائمين على هذا المنتدى العظيم وأخص بالشكر كل القائمين والعاملين بإدارة هذا المنتدى على ثقتهم فيه ومنحى ترقية من عضو إلى عضو مميز وأتمنى أن أكون دائما عند حسن ظنكم بى وأتمنى من الله حسن التعاون مع بعضنا البعض والتفوق والرفعة لهذا المنتدى الكبير الذى يحوى مجموعة كبيرة من الخبراء والأفاضل1 point
-
السلام عليكم ورحمة الله وبركاته تحية طيبة لكل القائمين على هذا المنتدى العظيم وأخص بالشكر كل القائمين والعاملين بإدارة هذا المنتدى على ثقتهم فيه ومنحى ترقية من عضو إلى عضو مميز وأتمنى أن أكون دائما عند حسن ظنكم بى وأتمنى من الله حسن التعاون مع بعضنا البعض والتفوق والرفعة لهذا المنتدى الكبير الذى يحوى مجموعة كبيرة من الخبراء والأفاضل1 point
-
1 point
-
1 point
-
لقد تمت الإجابة من قبل من طرف أستاذنا العلامة زيزو العجوز إمكانية البحث بأي كلمة في الاسم أو برقم.xls1 point
-
أخى جرب هذا معادلة تلوين الخلية ذات القيمة الاكبر والقيمة الصغري.xlsx1 point
-
والله أستاذ وليد أنا فتحت الملف مرة أخرى ولكن لم أرى أو أشاهد أى مشكلة فإنه يعمل معى بكل بساطة1 point
-
1 point
-
جرب MsgBox (Mid(CurrentDb("tbl_cv").Connect, InStrRev(CurrentDb("tbl_cv").Connect, "\") + 1, Len(CurrentDb("tbl_cv").Connect) - InStrRev(CurrentDb("tbl_cv").Connect, "\"))) عدل اسم الجدول tbl_cv حسب اي جدول لديك لاحظ هذا الخيار يجعلك تستخرج اكثر من قاعدة وحسب الجدول المحدد فقد ترتبط القاعدة الحالية باكثر من قاعدة بعيده تحياتي1 point
-
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته استكمالاً لما بدأه الإخوة الأعزاء أواصل معكم أحبابي أعضاء منتدى أوفيسنا سلسلة شرح فيجوال بيسك التطبيقات vba عرفنا في الفصل الأول تسجيل الماكرو ومستويات الأمان والتعامل مع ما تم تسجيله من الماكروات سواء بالحذف أو تعيين اختصار أو ربطه بزر ........ والكثير. وفي الفصل الثاني تعرفنا على محرر فيجوال بيسك وواجهته الرئيسية ومكونات نافذته واستخدامات كل جزء فيها وخصائص معظم عناصر التحكم التي يمكن استعمالها في نماذج vba. والآن جاء دورنا مع التعرف على أساسيات لغة vba كلغة برمجة: ما الفرق بين vb (فيجوال بيسك) و vba (فيجوال بيسك التطبيقات) ؟ لا أجد فرقا كبيراً فالقواعد المتبعة هنا هي نفسها هناك ولكن الفرق الوحيد الجوهري هو أن vb قائمة بذاتها أما vba فيتم احتوائها داخل أي تطبيق مثل الإكسل أو الوورد أو أي تطبيق آخر كما أن vb قادرة على إنتاج ملفات تنفيذية exe تكون واجهة للبرنامج بعد ذلك أما vba فتستعمل التطبيق المضمنة داخله كواجهة لها ولا تنتج ملفات تنفيذية. * من أول ما يجب علينا معرفته في أي لغة برمجة هي: المتغيرات : وهي عبارة عن مخازن يتم تحزين البيانات بداخلها في ذاكرة الحاسب وتختلف مساحة المخزن باختلاف حجم ما يتم تخزينه بداخله وهنا يجدر بنا الإشارة إلى شروط تسمية المتغيرات فيجب ألا يكون اسم المتغير من الكلمات المحجوزة في إكسل وهذه صورة لبعضها ويجب ألا يبدأ اسم المتغير برقم ويمكن أن يبدأ بحرف أو _ (underscore) وألا يحتوي على مسافة أو رمز خاص لذلك نجد أن vba تحتوي على مجموعة من أنواع البيانات التي تحدد نوعية المتغيرات منها: Byte : وهو اصغر أنواع البيانات مساحة حيث يشغل في ذاكرة الكمبيوتر 1 بايت ومداه الأرقام من صفر إلى 255 فقط. Integer : وهو لتخزين الأرقام الصحيحة بطول 5 خانات ويشغل في الذاكرة 2 بايت ويمكن اختصار تعريفه هكذا: dim variableName% بدلا من dim variableName as integer Long : وهو رقم صحيح طويل بطول 7 خانات ويشغل في الذاكرة 4 بايت ويختصر بإضافة & في نهاية اسم المتغير. Single : وهو لتخزين رقم عشري بطول 7 خانات ويشغل في الذاكرة 4 بايت ويختصر بإضافة ! في نهاية اسم المتغير. Double : لتخزين رقم عشري بطول 15 خانة ويشغل في الذاكرة 8 بايت ويختصر بإضافة # في نهاية اسم المتغير. Boolean : لتخزين قيم منطقية true/false ويشغل في الذاكرة 2 بايت. String : لتخزين النصوص حتى أكثر من 2 مليار حرف والحرف يشغل 1 بايت أي يتسع المتغير النصي إلى 2 جيجا بايت نصوص. Date : لتخزين التواريخ والأوقات ويشغل في الذاكرة 8 بايت يبدأ تاريخ vba من 1/1/100 حتى 31/12/9999 (لاحظ أن تاريخ الإكسل يبدأ من 1/1/1900) ويجب إحاطته بعلامة # مثال : mydate=#1/1/2000# Object : لتخزين الكائنات التي تحتوي على خصائص ووظائف ويتم تعيينه بجملة set ويشغل في الذاكرة 4 بايت أو حسب خصائص ووظائف الكائن المحدد. Variant : لتخزين كل الأنواع السابقة ويمكن تخزين المصفوفات بداخله أيضاً. وهذه الصورة توضح أنواع البيانات ......................... نأتي إلى معاملات لغة vba وتنقسم إلى : معاملات حسابية مثل الأس والضرب والجمع وهكذا يجب علينا معرفة أولوية حساب هذه المعاملات (أي العمليات يتم أولاً؟) وهي كالتالي مرتبة من الأكثر أولوية إلى الأقل كما بالصورة: نأتي الآن إلى معاملات المقارنة وهي تستعمل للمقارنة بين قيمتين وهي كالتالي: = يساوي <> لا يساوي > أكبر من >= أكبر من أو يساوي < أصغر من <= أصغر من أو يساوي والآن جاء دور المعاملات المنطقية : وهي التي تستعمل للتحقق من أكثر من شرط وهي كالتالي: Not : وهي لعكس نتيجة قيمة فإذا كانت true ترجع هي القيمة false والعكس صحيح. And : وترجع true إذا كان كلا الشرطين صحيح وترجع false فيما عدا ذلك. Or : وترجع false إذا كان كلا الشرطين غير صحيح وترجع true فيما عدا ذلك. Xor : وترجع false إذا كان كلا الشرطين صحيحاً أو خطأً وترجع true فيما عدا ذلك. Eqv : وهي عكس xor حيث ترجع true إذا كان كلا الشرطين صحيحاُ أو خطأً وترجع false فيما عدا ذلك. .......... إن أول ما يستعمله المبرمج في لغة البرمجة هي دالة الرسائل حيث يقوم من خلالها بإرسال رسائل للمستخدم أو يأخذ منه قيم من خلال مربع الإدخال فهيا بنا نتعلم الرسائل ومربع الإدخال: الصيغة العامة لصندوق الرسالة msgbox : MsgBox(prompt[, buttons] [, title] [, helpfile, context]) وتعني prompt نص التنبيه ثم بعدها الأزرار المستخدم في الرسالة ثم عنوان الرسالة ثم ملف المساعدة ثم رقم المقالة داخل ملف المساعدة وكل القيم اختيارية ما عدا نص الرسالة وهذه صورة تحتوي على أسماء الثوابت والقيم الرقمية المستخدم في خانة الأزرار. ويمكننا أن نضع القيمة الراجعة من الرسالة في متغير مثل: Mas=msgbox(“are you ready”,vbyesno,”title”) وهذه صورة توضح القيم الراجعة من صندوق الرسائل كثوابت وكقيم رقمية لاستعمالها في كاستجابة لاختيار المستخدم فإذا اختار المستخدم نعم نفذ كذا وإذا اختار المتخدم لا نفذ كذا. نأتي الآن لمربع الإدخال inputbox وهو شبيه بصندوق الرسائل وصيغته العامة هي: myValue = InputBox(message, title, defaultValue) وتحتاج إلى نص الرسالة وعنوان الصندوق والقيمة الافتراضية بحيث إذا لم يدخل المستخدم قيمة أو وافق على القيمة المقترحة منك ويمكننا التعامل مع القيمة الراجعة منه كما تعاملنا مع القيمة الراجعة من الرسالة. ..................... وبإذن الله في الدرس القادم سوف نتعرف على كيفية الإعلان عن المتغيرات والثوابت وكذلك ما يسمى بمدى المتغيرات وكيفية إنشاء ماكرو من خلال الكود وليس بتسجيل ماكرو وكذلك كيفية إنشاء دالة . وكيفية إضافة تعليقات للكود وبإذن الله سوف يكون فيديو. .......... وأعدكم بهديتين في الفيديو ولكن بعد أن يتم اكتشافهما من حضراتكم سوف يتم إخباركم بالسر فيهما.1 point
-
سؤال هذه الحلقة من دورة vba للمشتركين في الدورة عرفنا في الشرح كيف يتم ربط تنفيذ الماكرو بمفتاح اختصار عند تسجيل الماكرو والسؤال هو: كيف يتم تعيين اختصار لماكرو بعد تسجيله؟ ................ بإذن الله سيتم احتساب نقاط لمن يجيب أولاً ولمن يقوم بإرفاق الملفات المطلوبة منه كتقييم لأداء المشتركين في الدورة1 point
-
1 point