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

محمد طاهر عرفه

إدارة الموقع
  • Posts

    8741
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    37

كل منشورات العضو محمد طاهر عرفه

  1. الفكرة فى أنه يمكن كتابة فيروس بالكود مثلا لحذف كل ملفات القرص الصلب عند فتح ملف الاكسيل الذي يحتوي هذا الماكرو، مطلوب ماكرو قصير جدا و بسيط لذا أضيفت هذه الحاصية للتنبيه بوجود كود فى الملف ، بصرف النظر عن هذا الكود ، حتي لا يندم المستخدم عندما لا ينفع الندم
  2. أشكركما كثيرا أخي تلميذ الاكسيل تم اضافة شرح لكليفية تكرار الماكرو علي عدة خلايا هنا http://www.officena.net/ib/index.php?showtopic=3138
  3. السلام عليكم الفكرة ممتازة و التجمع من أجل رفع المستوي و زيادة الاحتكاك هدف نبيل ، و المنتديات فى حد ذاتها صورة علي النت بامكنيات محدودة من ذلك و لكن دعونا لا ننساق فى مناقشة الاسم ، و الكيفية ، فالمهم أولا و أخيرا هو النية فى العمل. و أقترح أن يبدا الحوار بوضع تصور عما يمكن أن يقدمه هذا التجمع علي أرض الواقع و يلي ذلك نقاط أخري للنقاش ، و لكن لنبدأ بما نطمح أن يقدمه هذا التجمع لاعضاؤه ؟؟ ثم لنناقش باقي النقاط مع تحياتي
  4. ===== أمثلة من مواضيع مختلفة تم تطبيق ذلك فيها http://www.officena.net/ib/index.php?showtopic=3116 http://www.officena.net/ib/index.php?showtopic=73 http://www.officena.net/ib/index.php?showtopic=72 http://www.officena.net/ib/index.php?showtopic=1558 ====
  5. بعد اعداد ماكرو معين للتطبيق علي خلية في أحيان كثيرة نحتاج علي تطبيق الماكرو علي عدة أسطر فى نفس الخلية و لاختيار مجموعة الخلاية المكلوبة و تطبيق نفس الماكرو عليها نستخدم الكود التالي: و ما يلي هو عدد 2 كود مع شرح لكل سطر الاول لطريقة بسيطة للتطبيق و الثاني ، مع بعض الاضافات ن مثل الغاء ظهور الاحداث علي الشاشة و عمل عداد يظهر فى شريط الحالية ليخبرنا بالتقدم فى التطبيق مرفق ملف به الكودان مع الشرح علي أن تضع الكود المطلوب تكراره فى المكان المحدد الشرح موجود مع الماكرو اضغط ALT+F11 ---- الاكواد : Sub myloop1() 'تعريف متغير من أجل عدد الصفوف Dim MyRow As Long 'عد عدد الصفوف المختارة MyRow = selection.Rows.Count 'اختيار الخلية الاولي فى الخلايا المختارة ActiveCell.Select 'بدء حلقة تكرارية للمرور علي جميع الصفوف For i = 1 To MyRow 'ضع الكود الذي تريد تكراره هنــــــــــــا 'اختيار الخلية التي تلي الخلية الحالية - أسفلها ActiveCell.Offset(1, 0).Activate 'نهو الحلقة التكرارية للمرور علي جميع الصفوف Next i End Sub و الثاني Sub myloop2() ' by Mohamed Taher ' www.officena.net 'الغاء تفعيل اظهار ما يحدث علي الشاشة Application.ScreenUpdating = False 'تعريف متغيران الاول لعدد الصفوف و الثاني لتثبيت العدد من أجل العداد Dim MyRow As Long, origraw As Long ' 'عد عدد الصفوف المختارة MyRow = selection.Rows.Count 'نقل العدد الي المتغير الخاص بتثبيت العدد origraw = MyRow 'اختيار الخلية الاولي فى الخلايا المختارة ActiveCell.Select 'بدء حلقة تكرارية للمرور علي جميع الصفوف For i = 1 To MyRow 'ضع الكود الذي تريد تكراره هنــــــــــــا 'اظهار العداد فى شريط الحالة Application.StatusBar = "Calculating ...." & _ Format(i / origraw, "0.0%") & " Please Wait......." 'اختيار الخلية التي تلي الخلية الحالية - أسفلها ActiveCell.Offset(1, 0).Activate 'نهو الحلقة التكرارية للمرور علي جميع الصفوف Next i 'تمكين تفعيل اظهار ما يحدث علي الشاشة Application.ScreenUpdating = True 'الغاء ما كتب فى شريط الحالة أسفل الشاشة Application.StatusBar = False End Sub مثال لعمل حلقة علي كتابة رقم فى الخلايا المختارة اختار الخلايامن أاعلي الي اسفل ثم شغل الماكرو LOOP.rar
  6. http://www.officena.net/ib/index.php?showtopic=3138&st=0&
  7. بالنسبة لتعقيب الاخ جيلاني الطريقة عامة و تصلح لجميع الموديولات حتي مرحلة النقل أما تطبيق الدالة فى الملف و المتغيرات فيه فتختلف من دالة الي أخري بحسب كود الدالة راجع ملف الاكسيل الاصلي الذي به المثال لتعرف طريقة تطبيق دالة أبو حمود مع تحياتي
  8. جزاك الله خيرا علي هذا الشرح الجميل و اضافة بسيطة لنقل الموديولات ( الوحدات النمطية ) المختلفة من ملف الي آخر يمكن تصديرها الي ملف bas ثن استيرادها كما أشار الأخ حسام فى شرحه أو يمكن فتح الملف الموجود فى المشاركة التي أشار اليها الأخ حسام ( الملف الذي يحوي الوحدات النمطية ) http://www.officena.net/ib/index.php?showtopic=33 و فتح الملف الجديد المطلوب نقل الموديول اليه و من محرر أكواد الفيجوال بيزيك ، الذي نصل اليه بضغط ALT+F11 كما أوضح الأخ حسام نختار الموديول المطلوب من مجلد الmodules فى ملف المصدر و نسحبه بالماوس الي الملف الجديد
  9. و هذا شرح مميز للأخ حسام نور عن كيفية تطبيق هذه الدوال فى ملفك ( بالصور) http://www.officena.net/ib/index.php?showtopic=3069
  10. برضه حل مؤقت يمكن التحكم فى مقاس الصفحة بالكود عن طريق Worksheets("Sheet1").PageSetup.PaperSize = xlPaperLegal كما فى ملف التعليمات و يمكن استبدال مقاس ال legal بعدة مقاسات : XlPaperSize can be one of these XlPaperSize constants. xlPaper11x17. 11 in. x 17 in. xlPaperA4. A4 (210 mm x 297 mm) xlPaperA5. A5 (148 mm x 210 mm) xlPaperB5. A5 (148 mm x 210 mm) xlPaperDsheet. D size sheet xlPaperEnvelope11. Envelope #11 (4-1/2 in. x 10-3/8 in.) xlPaperEnvelope14. Envelope #14 (5 in. x 11-1/2 in.) xlPaperEnvelopeB4. Envelope B4 (250 mm x 353 mm) xlPaperEnvelopeB6. Envelope B6 (176 mm x 125 mm) xlPaperEnvelopeC4. Envelope C4 (229 mm x 324 mm) xlPaperEnvelopeC6. Envelope C6 (114 mm x 162 mm) xlPaperEnvelopeDL. Envelope DL (110 mm x 220 mm) xlPaperEnvelopeMonarch. Envelope Monarch (3-7/8 in. x 7-1/2 in.) xlPaperEsheet. E size sheet xlPaperFanfoldLegalGerman. German Legal Fanfold (8-1/2 in. x 13 in.) xlPaperFanfoldUS. U.S. Standard Fanfold (14-7/8 in. x 11 in.) xlPaperLedger. Ledger (17 in. x 11 in.) xlPaperLetter. Letter (8-1/2 in. x 11 in.) xlPaperNote. Note (8-1/2 in. x 11 in.) xlPaperStatement. Statement (5-1/2 in. x 8-1/2 in.) xlPaperUser. User-defined xlPaper10x14. 10 in. x 14 in. xlPaperA3. A3 (297 mm x 420 mm) xlPaperA4Small. A4 Small (210 mm x 297 mm) xlPaperB4. B4 (250 mm x 354 mm) xlPaperCsheet. C size sheet xlPaperEnvelope10. Envelope #10 (4-1/8 in. x 9-1/2 in.) xlPaperEnvelope12. Envelope #12 (4-1/2 in. x 11 in.) xlPaperEnvelope9. Envelope #9 (3-7/8 in. x 8-7/8 in.) xlPaperEnvelopeB5. Envelope B5 (176 mm x 250 mm) xlPaperEnvelopeC3. Envelope C3 (324 mm x 458 mm) xlPaperEnvelopeC5. Envelope C5 (162 mm x 229 mm) xlPaperEnvelopeC65. Envelope C65 (114 mm x 229 mm) xlPaperEnvelopeItaly. Envelope (110 mm x 230 mm) xlPaperEnvelopePersonal. Envelope (3-5/8 in. x 6-1/2 in.) xlPaperExecutive. Executive (7-1/2 in. x 10-1/2 in.) xlPaperFanfoldStdGerman. German Legal Fanfold (8-1/2 in. x 13 in.) xlPaperFolio. Folio (8-1/2 in. x 13 in.) xlPaperLegal. Legal (8-1/2 in. x 14 in.) xlPaperLetterSmall. Letter Small (8-1/2 in. x 11 in.) xlPaperQuarto. Quarto (215 mm x 275 mm) xlPaperTabloid. Tabloid (11 in. x 17 in.) Note Some printers may not support all of these paper sizes مع ملاحظة هامة جدا بانه ليست جميع الطابعات تدعم جميع المقاسات مثال Sub Macro1() With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With ActiveSheet.PageSetup.PrintArea = "" With ActiveSheet.PageSetup .PaperSize = xlPaperA5 End With End Sub
  11. لا أخفيك سرا أني استغربت من عدم وجود خيار Custom أي تختار المقاس الذي تريد و لكن لاحظت أن المقاسات المتاحة للاختيار تختلف باختلاف نوع الطابعة المحملة علي الجهاز و يبجو أن العامل المؤثر في ذلك هو ال Driver الخاص بالطابعة و ليس الاكسيل لا تبدو لي هذه الاجابة مرضية ، و لكن وضعتها مؤقتا الي حين اتضاح حل آخر
  12. ـم التعديل فى الملف المرفق علي ملفك لتعمل المعادلة علي كل السجلات اختار الخلايا الصفراء التي بها المجموع من أعلي الي أسفل ثم شغل الماكرو مع تحياتي ghost-EquationItems.rar
  13. حسب ما فهمت من شرحك الأخير الكود لن يتدخل فى ناتج معادلة التقييم و انما يتدخل فى عدد الطلقات لتغيير مجموعها فقط قف فى الخلية التي بها مجموع الطلقات و شغل الماكرو التالي Sub koko() Dim kk, m1, m2, m3, m4 As Integer m1 = ActiveCell.Offset(0, -4).Value m2 = ActiveCell.Offset(0, -3).Value m3 = ActiveCell.Offset(0, -2).Value m4 = ActiveCell.Offset(0, -1).Value kk = m1 + m2 + m3 + m4 If kk > 80 Then Dim kkk As Integer kkk = kk - 80 Select Case kkk Case Is < m1 ActiveCell.Offset(0, -4).Value = (m1 - kkk) Case Is < (m1 + m2) ActiveCell.Offset(0, -4).Value = 0 ActiveCell.Offset(0, -3).Value = (m1 + m2 - kkk) Case Is < (m1 + m2 + m3) ActiveCell.Offset(0, -4).Value = 0 ActiveCell.Offset(0, -3).Value = 0 ActiveCell.Offset(0, -2).Value = (m1 + m2 + m3 - kkk) Case Is < (m1 + m2 + m3 + m4) ActiveCell.Offset(0, -4).Value = 0 ActiveCell.Offset(0, -3).Value = 0 ActiveCell.Offset(0, -2).Value = 0 ActiveCell.Offset(0, -1).Value = (m1 + m2 + m3 + m4 - kkk) End Select End If End Sub
  14. http://www.officena.net/ib/index.php?showt...=1877&hl=الرصيد http://www.officena.net/ib/index.php?showt...=1722&hl=الرصيد http://www.officena.net/ib/index.php?showt...c=893&hl=الرصيد http://www.officena.net/ib/index.php?showt...=1130&hl=الرصيد http://www.officena.net/ib/index.php?showt...=1291&hl=الرصيد
  15. تم تعديل الكود فى هذه المشاركة فى مشاركة لاحقة و تم ارفاق ملف جديد
  16. أعتقد أن ما تشير اليه ليس من تطبيقات الاوفيس جرب منتدي شرح البرامج فى بوابة العرب www.arabsgate.com
  17. السلام عليكم مثال جميل و مفيد جزاك الله خيرا لاحظت أنه لكي يعمل بصورة أفضل ، يجب أن تكون خاصة autoresize للنموذج غير مفعلة و الا فانه مع التكبير و التصغير لعدة مرات متتالية تحدث مشكلة فى العرض ( مرات كثيرة ) أيضا يرجي اضافة التعامل مع صندوق الخيارات لكي يكون عاما option group أو ال Frame مرفق المثال الذي جربت عليه مع تحياتي و شكري (y) formResize-mohanad.rar
  18. أخي جمال ، أقصد علي القاعدة و ليس علي الكود أخي وينماستر بالنسبة لموضوع الحماية ، فالاكسيس مازال الكود به محمي تماما بالتحويل الي mde ( و ليس كما هو حال باقي المكونات ) و التي مازال يمكن حمايتها ضد ( أغلب المستخدمين ) و ليس الكل بالطبع أما الكود ففي الاكسيس حتي الان هو فى أمان تام علي عكس الفيجوال بيزيك ، الذي تخصص الكثيرين فى فك حمايت ال exe , و اعادته للشفرة المصدرية ، سواء باستخدام ال decompilers أو استخدام الاسمبلي و قد صار نقاش فى الفريق العربي سابقا بين عدد من أقوي المشاركين فى قسم البيزيك هناك ( فى أقصي أوقات مجده ) و بين الأخ خالد الصالح ، و استطاع فك كل ما أعدوه من حماية http://www.arabteam2000-forum.com/index.ph...=21697&hl=حماية
  19. بالنسبة لاستيراد الاستعلامات ، فعن نفسي اسمح لي أن اخالفك الرأي ، في أنها ليست من الاشياء التي نحرص علي حمايتها فى البرنامج ، و ربما تأخر الردود هو بسبب وجود نفس الرأي لدي الأخوة . ، و لكن لم يذكر ذلك صراحة لانه فى النهاية يندرج تحت الرأي الشخصي و ليس قاعدة معترف بها . فمع الاستخدام المتقد للاكسيس ، ستجد أنها ستستبدل بجمل ال SQL داخل كود ال VBA ، كما ذكر الأخوة بل و أن الاس كيو ال داخل الكود ، سيقوم بمهام لا تستطيع الوصول اليها بالاستعلام العادي ، و لا توجد فى رأيي مشكلة كبيرة لدي العديد من المبرمجين سواء كانت الاستعلامات العادية محمية أم لا و لحماية أي شيء من الاستيراد حماية ظاهرية ، ضع كلمة سر علي القاعدة ، فلن يتم الاستيراد الا اذا اكتشفت كلمة السر باحد برامج كشف كلمة السر و بالنسبة للاخ عبد الله ، هو بخير ، و قد رأيته أمس الاول ، و هو حاليا مشغول بسب قرب الامتحانات ، و هذا حال كثير من الاخوة مع تحياتي
  20. السلام عليكم اذا كان مقصود كتابة الكود مباشرة ، فى المنتدي فانت بالفعل استخدمت الطريقة السليمة فى عدة مشاركات و لكن ما يظهر من حروف غير مفهومة ، هو نتيجة أن اعدادت اللغة فى جهازك تحتاج الي تغيير و ما يظهر من حروف غير مفهومة هو استبدال للاحرف العربية فاذا كان الكود لا يحوي العربية ، فلن تظهر المشكلة أو غير اعادادات اللغة من لوحة التحكم و لكتابة الاكواد بصفة عامة نعلم الكود بالكامل ثم نضغط علي زر ال # و طبعا بعد اختيار تعقيب و ليس الرد السريع
  21. تم اضافة التعديل الخاص باوفيس 2003 الي الموضوع الاصلي مع تحياتي
  22. , بالنسبة للتطبيق علي الاوفيس 2003 فسيكون هناك تغييران الاول هو ضغط ALT عند اختيار درجة الامان فيضاف علامة ال % و أيضا وجود خيار جديد و هو Very High و لكن لاحظ أنك باختيار High or Very High ستمنع عمل ماكرو بدء التشغيل و بالتالي لن يتم التحويل اليا الي منخفض و يمكنك التحكم بالطريقة التي تناسبك macroSecurity.rar
  23. السلام عليكم الموضوع السابق التحكم فى مستوي أمان الماكروهات http://www.officena.net/ib/index.php?showtopic=25 بالنسبة لاوفيس 2003 يجب تغيير الخطوة الاخيرة اختيار H,M,L لا يكفي و انما يجب أن يكون مصحوبا يضغط ALT ايضا هناك حرف اضافي و هو V very high مثلا مثلاً "%H" بدلا من "H" مع تحياتي
  24. عند تعيين قيمة المتغير فى الكود الموجود لديك قم بالاختبار If IsNull(Me.textBox1.Value) Then Myvar = "" Else Myvar = Me.textBox1.Value End If حيث Myvar هو المتغير و textBox1 هو اسم مربع النص او استبدلها بصفر كما أشار الاخ وينماستر
  25. التأكد من عدم ادخال قيمة لنفس السجل فى نفس التاريخ, باستخدام Dcount http://www.officena.net/ib/index.php?showtopic=1256 به مثال التأكد من أن القيمة سبق تسجيلها, مع استرجاع رقم التسجيل http://www.officena.net/ib/index.php?showtopic=1157 به 3 أمثلة عدم تكرار القيمه لنفس السجل بنفس التاريخ http://www.officena.net/ib/index.php?showtopic=1724 كود عدم تكرار السجلات, كود عدم تكرار السجلات ( شرح للموضوع ) http://www.officena.net/ib/index.php?showtopic=534&hl= منع تكرار الأسم في نفس التاريخ http://www.officena.net/ib/index.php?showtopic=2722 به مثال
×
×
  • اضف...

Important Information