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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      5

    • Posts

      9,756


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

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

    إدارة الموقع


    • نقاط

      4

    • Posts

      8,495


  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      4

    • Posts

      3,490


  4. bin7shr

    bin7shr

    عضو جديد 01


    • نقاط

      3

    • Posts

      46


Popular Content

Showing content with the highest reputation on 16 ينا, 2018 in all areas

  1. اتفضل افتح تقريرك في وصع التصميم واكتب هذا الكود عند فتح التقرير Private Sub Report_Open(Cancel As Integer) DoCmd.Minimize DoCmd.OpenReport Me.Name, acViewPreview End Sub ولان لا ارفقت اي القاعدة اتفضل اليك مرفق لكي تلقي نظرتا اليه اظهار التقرير عند اخفاء شاشة اكسس وبدون تكبير التقرير.rar
    3 points
  2. السلام عليكم ورحمه الله وبركاته اعتذر من ادارة المنتدى ،هذه اول مشاركه لي، علما اني لست عضوا في اي منتدى عربي اتمنى من يعرف اي معلومه او بريد للدكتوره زهرة ان يقوم بمراسلتي عبر الايميل واعتذر عن ذكر بياناتي الخاصه في العام، وان كانت الدكتوره زهره تقرأ رسالتي ( العقرب) وهي تعرف معنى ما بين القوسين ان تقوم بمراسلتي عبر الايميل واكرر اعتذاري مره اخرى لادارة المنتدى الموقرين.. واتمنى ان تكون بصحه وخير وعافيه.. استفهام السعودية dr-zmaan@hotmail.com
    2 points
  3. اولا ، الشعب يريد ان يشكر اخونا شفان على سعيه لقضاء حاجة اخوته . وثانيا ، يا استاذ مصطفى . بالاضافة الى الكلمات الحلوة اللي وجهتها للاستاذ شفان ، فتستطيع ان تنقر على هذا الزر الموجود في ذيل كل مشاركة ، بحيث تضيف نقاط الى رصيده الاحترافي . جعفر
    2 points
  4. السلام عليكم ورحمة الله وبركاته استاذ سليم بارك الله بكم وحفظكم من كل سوء انقذتني ووفرت عني تعب كبير باعادة الاوراق بالملف شكرا شكرا لكم وجزاكم الله خيرا
    2 points
  5. وعليكم السلام اخي الكريم الفورم لم يفتح عندي على كل حال اذا كان الفورم شغال عندك فهذا هو المرفق بعد التعديل شاشة دخول1.rar
    2 points
  6. Version 2.0.0

    2,739 تنزيل

    بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ------------------------ كل عام أنتم بخير وسعادة ورضا رمضان مبارك ================ استكمالا لسلسلة ما خف وزنه وغلا ثمنه موعدنا اليوم مع ملف يحتاجه كل مهتم بعمل نسخة تجريبية في الأكسس لمدة أسبوع أو شهر أو أي مدة تحددها في الكود ************************** ولا يطلب البرنامج التفعيل إلا بعد انتهاء المدة التجريبية وكذلك لا يجوز اللعب في تاريخ الجهاز لأنه سيتم اكتشافه /////////////////////////////////////////// مرفق ملفان واحد للبرنامج وملف لإنشاء السيريال للتجربة والاختبار واكتشاف الثغرات وهذا فيديو شرح الفكرة والكود +++++++++++++++++++++++++ ولا ينقصني سوى دعاؤكم لي بالخير في الدنيا والآخرة ********************** الكود يعمل على كل إصدارات الأوفيس لأنه تم عمله بأوفيس 2003 دمتم في رعاية الله وحفظه =-*/+=-*/+=-*/+=-*/+ إن شاء الله
    1 point
  7. من له طريقة استدعاء قيمة من حقل محسوب في اي نموذج في النظام او تقرير او جدول من اجل تكون رصيد اول المده واخر المده استدعاء قيمة حقل محسوب من النموذج الى التقارير عن طريق المودل او الماكروا هذا الشرح المهندس/ ايهاب عثمان في منتدى الفريق العربي ولكن المرفق عندهم الصفحة غير موجودة نتكلم عن ثلاثة أنواع من الأرصدة 1 – الرصيد التراكمي وهو الرصيد الذي يتم تسجيله في نهاية كل سطر(عملية) محاسبية وهو عبارة عن الرصيد السابق + الحركة المدينة – الحركة الدائنة ويتم تسجيله في عامود واحد باشارة موجبة للرصيد المدين أو سالبة للرصيد الدائن . وطريقة العرض هذه تستخدم في كشوف الحركة مثل كشف حركة الخزينة 2 – الرصيد الأفقي يكون العرض هنا ببساطة شديدة لاسم الحساب ورصيد اول المدة (المدين في عامود والدائن في عامود) يليه الحركة ثم رصيد اخر المدة بنفس الطريقة والكل في صف واحد وهذه الطريقة هي الخاصة بموازين المراجعة.. 3 – الرصيد الرأسي وهو عبارة عن رصيد افتتاحي في بداية التقرير تليه الحركات المدينة والدائنة ة(كل حركة في سجل) وفي نهاية التقرير يظهر رصيد نهاية المدة وتستخدم هذه الطريقة في إعداد كشوف الحساب -------------------------- حول المثال المرفق : 1 - هنا تجدون المثال الخاص بهذا الدرس نموذج الافتتاح اسمه Arg كل ما يطلبه منك هو تاريخ بداية وتاريخ نهاية الفترة المطلوب عرض ارصدتها (يفضل ان تكتب التاريخ من 1/1/2008 إلى 31/12/2008) و اسم الحساب الذي تريد عرض نتائجه وبأسفل النموذج تجدون جدولا لاختيار نوع الرصيد (الأنواع الثلاثة المذكورة أعلاه) ووسيلة العرض سواء على شكل استعلام أو تقرير.. ولاحظوا أن النوع الثاني من الأرصدة (ميزان المراجعة) لا يتطلب بالضرورة تحديد اسم الحساب فلو تركت مكان اسم الحساب فارغاًً لظهرت لك جميع الحسابات بعد ذلك ليس إلا أن تضغط على الزر الموجود أسفل النموذج لتظهر لك النتائج. 2 – قد يثور تساؤل ما الفائدة من عرض الأرصدة في شكل استعلام ثم في شكل تقرير أليس الاستعلام هو مصدر التقرير؟؟ أقول لك نعم ولكن الية العمل وطريقة الحساب للأرصدة تختلف في الاستعلام عنها في التقرير وإذا لاحظت ستجد أن الصيغ الموجودة بالحقول المحسوبة داخل الاستعلامات تختلف عنها في مربعات النصوص داخل التقارير. 3 – بيانات المثال كلها موجودة في جدول بسيط للغاية اسمه Data حقوله هي Docid - نوع (ترقيم تلقائي) لإدخال رقم المستند ... ولاحظ أن نوع الحقل هنا هو الفكرة الاساسية لحساب الارصدة داخل الاستعلامات Acc - نوع (نص) لإدخال إسم الحساب DocDt – نوع (تاريخ/وقت) لإدخال تاريخ المستند Db – نوع (عملة) لإدخال المبالغ المدينة Cr – نوع (عملة) لإدخال المبالغ الدائنة وبيانات الجدول بسيطة جداً عبارة عن مجموعة من الحركات الدائنة والمدينة خلال عامي 2007 و 2008 لحسابات أسماؤها a – b- c هذا هو الجدول الوحيد لدينا وعليه بنيت كافة الاستعلامات والتقارير --------------------------- الاستعلامات والتقارير بنيتها وآليات عملها : طبقاً لأنواع الارصدة الموجودة بالمثال سنرتب حديثنا عن الاستعلامات والتقارير الخاصة بكل نوع 1 - رصيد تراكمي (كشف حركة) أ - الاستعلام : اسمه AccBl بنيناه كما يلي: *** انشأنا ثلاثة استعلامات متتابعة الاول op01 مبني على الجدول Data وظيفته تحديد كافة الممعاملات السابقة لتاريخ بداية الفترة المختارة عن طريق المعيار الخاص بحقل التاريخ DocDt وكان المعيار هو <[Forms]![Arg]![a] حيث A هو اسم مربع النص الذي ستكتب فيه تاريخ البداية داخل النموذج وايضا تحديد اسم الحساب عن طريق معيار تحت حقل اسم الحساب وكان المعيار هو <[Forms]![Arg]![acc] حيث acc هو اسم مربع النص الذي ستختار فيه اسم الحساب داخل النموذج بناءً على هذه الاستعلام انشأنا استعلام OP02 لتجميع الحركات المدينة والدائنة SumOfDb و SumOfCr ثم الاستعلام Op03 لايجاد المحصلة (مدينة أو دائنة) ووضعه في مكانه الصحيح الان معك الاستعلامop03 لعرض الرصيد الافتتاحي للحساب الذي اخترته عن الفترة محل البحث. *** الحركة خلال الفترة جمعناها في الاستعلام Tr المبني على جدولنا وذلك لنفس اسم الحساب (بنفس المعيار السابق) وللفترة من بداية الفترة الى نهايتها عن طريق المعيار الخاص بحقل التاريخ DocDt وكان المعيار هو <Between [Forms]![Arg]![a] And [Forms]![Arg]! حيث A هو اسم مربع النص الذي ستكتب فيه تاريخ البداية و B هو اسم مربع النص الذي ستكتب فيه تاريخ الالنهاية داخل النموذج وهذا الاستعلام لعرض الحركات حركة حركة ولا تجميع فيه. ***الان نريد ضم الشتات ولم الشمل الرصيد الافتتاحي يليه سجلات الحركة عليك باستعلام التوحيد الأقوى من الحديد :lol: اسمه all يجمع بين الاستعلامين op03 و Tr *** لا يتبقى لنا سوى تحديد الرصيد التراكمي وسيكون ذلك في حقل محسوب داخل استعلامنا النهائي الذي هو Accbl اسم الحقل المحسوب هو Accum صيخته هي التالية Accum: [db]-[cr]+nz(DSum("[db]","all","[docid]<" & [docid])-DSum("[cr]","all","[docid]<" & [docid]),0) يحتاج لبعض الشرح ؟؟؟ حسناً.. ماهو الرصيد التراكمي ؟ اليس هو صافي الحركة الحالية(مدين-دائن) مضاف اليها مجموع الحركات السابقة (مدين-دائن) باشارتها طبعاً هذا ماتكونت منه الصيغة السابقة [db]-[cr] هي صافي او ناتج طرح الحركة الحالية المدينة - الدائنة DSum("[db]","all","[docid]<" & [docid]) هنا مجموع الحقل المدين Db من الاستعلام ِall بدالة التجميع الشرطي Dsum والشرط ان يكون رقم المستند(الحقل Docid) في الاستعلام all اقل منه في استعلامنا الحالي ومن هنا نشأت أهمية اختيار نوع الترقيم التلقائي لهذا الحقل عند تصميم الجدول وبنفس االدالة ونفس الشرط قمنا بتجميع الحركات الدائنة السابقة DSum("[cr]","all","[docid]<" & [docid]) ولا يخفى عليكم دور الدالة Nz في حذف القيم الفارغة والمساعدة في اظهار النتائج سليمةً الان اتضح محتوى الحقل المحسوب المدين الحالي-الدائن الحالي+اجمالي المدين السابق - اجمالي الدائن السابق مع حذف اي قيم فارغة. والنتيجة النهائية ان يظهر الرصيد التراكمي المدين باشارة موجبة وان كان دائنا ظهر باشارة سالبة (بين قوسين) ب - التقرير : بنفس الاسم الذي يحمله الاستعلام : AccBl مصدره هو الاستعلام Accbl وتميز بشيئين عن الاستعلام السابق *** مربع النص الاصفر الموجود بأعلى التقرير فيه شوية شغل ومعادلات :D *** الرصيد التراكمي معروض ببساطة شديدة عبارة عن ناتج طرح المدين - الدائن مع تشغيل خاصية التجميع لمربع النص بمعنى Running Sum = Yes 2 - رصيد افقي (ميزان مراجعة) أ - الاستعلام : إسمه Trial_b03 منتديات الفريق العربي للبرمجة بنيناه هكذا *** استعلام تحديد اسمه Trial_b01 مبني عل الجدول Data وظيقته الفصل بين محصلة الحركات(المدينة و الدائنة) قبل فترة البحث عن تلك الواقعة في نطاق الفترة رصيد البداية : op: IIf([docdt]<forms!arg!a,[db]-[cr],0) دالة الشرط IIF تختبر التاريخ بالحقل Docid فان كان سابقا للتاريخ الموجود بمربع النص A بالنموذج Arg ارجعت ناتج طرح الحقل Db - الحقل Cr والا ارجعت 0 كل ذلك بمعيار لتحديد رقم الحساب تحت الحقل Acc ويتميز هذا المعيار بانك لو تركت مربع اسم الحساب بالنموذج فارغاً ظهرت لك كل الحسابات والمعيار هو الاتي Like "*" & [forms]![arg]![acc] & "*" ومعيار اخر تحت حقل التاريخ Docid لمنع ظهور اي تاريخ يجاوز فترة النهاية الموجودة بالمربع b في النموذج Arg والمعيار هو <=[forms]![arg]! *** استعلام اخر اسمه Trial_b02 ميني على السابق وظيفته التجميع للحقلين المحسوبين السابقين بدلالة اسم الحساب *** اخيرا استعلامنا النهائي Trial_b03 مبني عن السابق وظيفته فصل المدين عن الدائن في رصيد البداية والحركة وكذلك حساب الرصيد النهائي بنفس فكرة الدالة iif ب - التقرير : إسمه TrialB مبني على الاستعلام Trial_b03 يتميز بالاتي : *** الحركات في المربع الاصفر :P *** التجميع في نهاية التقرير 3 - رصيد رأسي (كشف حساب) أ - الاستعلام : إسمه Virticl02 مبني على استعلام التوحيد Virtical01 الذي يجمع بين اربعة استعلامات *** op03 تكلمنا عنه سابقا *** Tr تكلمنا عنه ايضأ *** Lines مجموعة من الخطوط بشكل "======" *** استعلام end03 وهو لعرض الرصيد في نهاية الكشف وقد نشأ من تتابع الاسنعلامين end01 و end02 بنفس فكرة تتابع الاستعلاماتOp01 -op02- op 03 ب - التقرير : اسمه VirticalRp مبني على الاستعلام Tr يتميز التقرير ببساطته ولثد تم حساب الارصدة في البداية والختام بصيغ داخل التقرير نفسه بالدوال iif وDsum المرتبطة بالاستعلام OP03 .................................... في انتظار استفساراتكم ودعواتكم
    1 point
  8. للأمانة قليل في حقك كلمة مليون الف شكر فأنت تستأهل اكثر من ذلك على جهودك الجبارة فأسال الله ان يكتب لك الرزق والسعادة من حيث لا تحتسب وأن يجعل ما تقدم شفيعة لك لا عليك .
    1 point
  9. شكرا د. أسامة سيد علي ترجمته للمواصفات أيزو 9001 - 2015 عربى - انجليزى.pdf
    1 point
  10. السلام عليكم ورحمة الله جرب التعديلات التي تمت على الملف في المرفقات لعلها تفي بالغرض... بن علية حاجي اختيار الطابعة وعدد النسخ1.rar
    1 point
  11. السلام عليكم اخي الكريم شفان اول ما شفت الكود .. بدون تجربته قلت هدا هو الحل اين كان تفكيري وعند استخدامه قلت الحمد لله الدي به تقدى الامور وشكر الجزيل لك اخ شفان والله ما قصرت تمت الاجابة
    1 point
  12. 1 point
  13. جرب هذا الماكرو Option Explicit Sub Show_Sheets() Dim i% For i = 1 To Sheets.Count If Sheets(i).Visible = 2 Then Sheets(i).Visible = 1 Next End Sub
    1 point
  14. أخي الفاضل إعدادات الاكسل عندك تحتاج للضبط الملاحظ من الصورة إنك مفعل الوضائف الاضافية فأذا لم تكن بحاجة لها في مشروعك عليك بألغاء تفعيلها من ملف خيارات متقدمة الوظائف الاضافية ومفعل عدم تسجيل المعلومات من قائمة ملف في حال لا ترغب في إلغائها يمكن يمكنك نسخ الكود من زر الدخول ولصقة في الفورم الاخر مع مراعات تغير رقم التكس بكس تحياتي
    1 point
  15. وعليكم السلام ومشاركة مع اخي الوزير ، تفضل الحساب بطريقتين ، والنتيجة . جعفر 875.هشام.mdb.zip
    1 point
  16. السلام عليكم اقدم لكم مجموعة تعد من افضل الكتب مبيعا فى الفترة الاخيرة (كتب مسموعة)صوتية الروابط أسرار الاقناع والتأثير.mp3 - 7.1 MB إبدأ مشروعك بمفردك.mp3 - 7.6 MB إدارة المشروعات.rar - 43.9 MB ادارة الفوضى.mp3 - 5.9 MB التحفيز الخارق.mp3 - 8.0 MB التعامل مع الناس صعبي المراس.mp3 - 7.1 MB المبادئ الاثنا عشر الحصرية للقيادة العصرية.lite.mp3 - 7.8 MB فن إدارة الوقت.rar - 42.6 MB كيف تتخذ قرارات بشكل فعال.rar - 5.4 MB
    1 point
  17. الله هم صلي على النبي إيه الابداع ده أ/ شفان تسلم دماغك والله وبارك الله فيك
    1 point
  18. اتفضل تم اضافة حقل من نوع الرقمي باسم VOYAGENO1 واستخدمت هذا الكود Private Sub t3_AfterUpdate() If Len(Me.VOYAGENO1 & vbNullString) = 0 Then Me.VOYAGENO1 = Nz(DMax("[VOYAGENO1]", "CHARTER", "[vessel name]='" & Me.t3 & "'"), 0) + 1 End Sub Database13.rar
    1 point
  19. جزيت خيراً اخي الكريم يجري الآن التحميل ....
    1 point
  20. أعتذر إليك عن هذا التقصير.. قمت بإصلاح الخطأ.. كل منتج له نموذج صورة يخصه.. لست ملزما بإغلاق صورة المنتج الظاهرة لترى صورة المنتج الأخرى إليك التعديل:Scc2.zip
    1 point
  21. السلام عليكم ورحمة الله أن تكتبه بالشكل التالي: Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Columns.Count = Columns.Count Then Application.EnableEvents = False MsgBox "Non, non, suppression de ligne annulée" Application.Undo Application.EnableEvents = True End If End Sub وتضعه في كود حدث ThisWorkbook بن علية حاجي
    1 point
  22. لا يمكن بالطريقة الحالية ، لأن الامر يأتيه من الجدول عندك طريقتين لعمل الذي تريده: 1. ان تجعل الحقول غير مضمنه (غير مرتبطه بحقول بالجدول) ، يعني عند الذهاب الى سجل ، تأتي بالسجل من الجدول برمجيا ، ثم تُدخل هذه القيم في حقول النموذج ، وعند التغيير/إضافة وقبل الخروج من السجل يجب حفظ البيانات برمجيا ، 2. ان تعمل حقل مزيف/مؤقت لجميع الحقول او للحقول التي تريد تعمل المطلوب عليها ، بالإضافة الى الحقل الاصلmyDate : مثل tDate يعني تاريخ مزيف/مؤقت ، غير مضمن ، نوعه نص ، عند تحميل السجل ، تقول برمجيا: me.tDate = me.MyDate وعند حفظ السجل تقول برمجيا: me.MyDate = me.tDate عندها ستظهر رسالة الخطأ على الحقل MyDate جعفر
    1 point
  23. السلام عليكم حسب فهمي للمسألة يمكنك تغيير ذلك في الإكسيل عن طريق تحديد نطاق الكتابة في هذا العمود وفتح تنسيق الخلايا ثم تغيير "اتجاه النص" Text Orientation وتختار "من اليمين إلى اليسار" وإذا أردت زيادة مسافة في البداية تقوم بالتغيير في خاصية "محاذاة النص" Text Alignment ثم "أفقيا" Horizontal تختار منها "محاذاة إلى اليمين" (Right (Indent ثم "مسافة" Indent تختار الرقم 1 مثلا.... والله أعلم بن علية حاجي
    1 point
  24. CLng للتحويل الى قيمة رقمية ‘ واعتقد ان المثال يمكن ان يعمل بدونها ، ولكني وضعتها من اجل هذا السطر في الحدة النمطية : i=DMin("monthx", "qryScnd", " nID =" & uid) وهو التغيير الجديد ويرجع بأصغر قيمة من عمود الشهر حسب الموظف كان الوضع السابق انه يعتبر الشهور كأرقام تبدأ من 1 وتنتهي بـــ 12 الآن يأخذ الارقام الموجودة ابتداء بالاصغر ويستمر الى مالا نهاية i = DMin("monthx", "qryScnd", " nID =" & uid) ii = mnthID For z = i To ii فـــ i تمثل الشهر الاصغر و ii تمثل آخر شهر و z تمثل الشهر الذي تتم معالجته
    1 point
  25. هذه بالكود Private Function ID_Val(ByVal SEGEL_NO As String) As Boolean On Error Resume Next Dim i, TOT, ten As Integer Dim TEMP, FIN As String TOT = 0 For i = 1 To 9 If i Mod 2 <> 0 Then TEMP = (CInt(Mid(SEGEL_NO, i, 1)) * 2) If Len(TEMP) = 1 Then TEMP = "0" & (CInt(Mid(SEGEL_NO, i, 1)) * 2) Else TEMP = (CInt(Mid(SEGEL_NO, i, 1)) * 2) End If TOT = TOT + CInt(Mid(TEMP, 1, 1)) + CInt(Mid(TEMP, 2, 1)) Else TOT = TOT + CInt(Mid(SEGEL_NO, i, 1)) End If Next FIN = Format(TOT, "00") ten = CInt(Mid(SEGEL_NO, 10, 1)) ID_Val = (CInt(Mid(FIN, 2, 1)) = ten) Or (ten = 10 - CInt(Mid(FIN, 2, 1))) End Function الخوارزمية باختصار نضرب الأعداد الفردية من رقم السجل المدني بـ 2 ثم نجمع الآحاد مع العشرات ونضيف معهم مجموع الأعداد الزوجية وفي النهاية يكون معنا عدد مكون من آحاد وعشرات فإذا تشابه الآحاد مع آخر رقم من السجل المدني فهو صحيح أو ننقص 10 من آحاد الناتج فإذا تشابه مع آخر رقم من السجل المدني فهو صحيح
    1 point
  26. السلام عليكم اعتذر لبعض الخطاء في البرنامج وتم التعديل ان شاء الله وارجو من الاخوة في ادارة المنتدى ان يحذف الملف السابق مع فائق التقدير اسم الدخول: المدير باسورد: 123 البرنامج.rar
    1 point
  27. و هذا الكود لاستبدال الاسطر الزائدة الى تنتج عند النسخ من ملف PDF و يتم تشغيله بعد عمل اختيار للمنطقة المراد التطبيق عليها اولا Sub ReplaceLineBreak() ' With Selection.Find .Text = "^p" .Replacement.Text = " " .Forward = True .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
    1 point
  28. السلام عليكم، انه مضمن ضمن الملف السابق و بيانه كالتالي: ' حذف المسافة بعد كلمة عبد Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "عبد ال" .Replacement.Text = "عبدال" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll
    1 point
  29. تم اضافة الطلبات الثلاثة الي الكود Sub ArabicSpace() ' حذف المسافة قبل الفاصبة Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " ، " .Replacement.Text = "، " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' حذف المسافة قبل حرف الواو Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " و " .Replacement.Text = " و" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' حذف المسافة بعد حرف الواو فى بداية الفقرة Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^pو " .Replacement.Text = "^pو" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' استبدال المسافتين الزائدتين بواحدة فقط Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " " .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' حذف المسافة قبل القوس Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " )" .Replacement.Text = ")" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' حذف المسافة بعد القوس Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "( " .Replacement.Text = "(" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ' حذف المسافة بعد كلمة عبد Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "عبد " .Replacement.Text = "عبد" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
    1 point
×
×
  • اضف...

Important Information