اذهب الي المحتوي
أوفيسنا

أبو عاصم المصري

03 عضو مميز
  • Posts

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

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

  • Days Won

    2

مشاركات المكتوبه بواسطه أبو عاصم المصري

  1. تجربتي مع التشكيل الآلي:

    يعتبر التصحيح من أكثر مراحل العمل العلمي التي تأخذ وقتا وجهدا كبيرا، وخصوصا إذا كان تشكيلا شاملا لكل الكلمات.

    وكنت قد لجأت لطريقة بدائية اعتمدت عليها في ضبط كثير من المجلدات بالشكل الكامل، وكانت النتيجة مرضية بشكل كبير، ولا يعني هذا عدم تدخل المصحح، بل لا بد أن يقوم بعملية التصحيح المعروفة، وقد وفر هذا جهدا كبيرا، مع دقة عالية.

    عملت الماكرو كالتالي:

    1- أحضرت ملفا مشكولا بصورة كاملة، جمعت فيه كتابا لغويا (مثل تاج العروس، أو لسان العرب)، وكتابا حديثيا (مثل مسند الإمام أحمد)، وكتابا  في التفسير (مثل تفسير الطبري)، وكتابا فقهيا (مثل المغني لابن قدامة)، وكتابا أصوليا (مثل البرهان للجويني)، وكتاب تاريخيا، وكتابا أدبيا، ويمكن أن يضاف كتب أخرى.

    2- فتحت الملف المراد تصحيحه، ونسخت أول أربع كلمات، وبحثت عنها في الملف المشكول، فإذا وجدها نسخها، وقمت باستبدالها في الملف كله ولونتها باللون الأحمر لتمييزها.

    3- نسخت الكلمة الثانية إلى الخامسة، ثم الثالثة إلى السادسة، وهكذا، فما وجده في الملف المشكول، نسخته في الملف المراد تصحيحه في كل المواضع.

    4- وكانت النتيجة عالية جدا.

    * جمعت قائمة بحروف لا تجتمع أبدا، وإذا حدث ذلك علمت على الكلمة.

    * جمعت قائمة أخرى بتشكيل لا يتوالى أبدا مثل (سكون، بعده سكون)، (شده بعدها سكون).

    * فما كان كذلك ظللته ليراجعه المصحح.

    فلو رأيت أن تضيف مثل هذا (لإضافة البيان الرائعة) كان في هذا خير عظيم، وفائدة كبيرة.

    ويمكن أن تجعلها تحت التجربة، للاستفادة من آراء الإخوة.

    بارك الله فيك أخانا الحبيب، وأرجو ألا أكون قد أثقلت عليك.  

    • Like 1
  2. حبيبنا الأستاذ شحادة، أولا جزاكم الله خيرا على هذه الإضافات الطيبة، وسرعة استجابتكم لها، فلك مني أرق تحية.

    ثانيا: في الاستبدال المتعدد، مع استخدام القائمة الموجودة، مع الاستبدال، النتيجة تمام، لكن مع التحديد تكون النتيجة غير دقيقة، حيث لا يعلم إلا على كلمة واحدة.

    فيا ليتك تنظر في هذا الأمر، ويا حبذا لو لونت الكلمات محل الإشكال باللون الأحمر مثلا.

    ولك مني خالص الشكر.

    • Like 1
  3. تمام حبيبنا، وأحب أن أطمئنك، التشكيل الآلي ليس مستحيلا، فقد جربته بطرق بدائية، وبماكرو بسيط، وقد ضبطت به نصوصا كثيرة، وكانت النتيجة مرضية، علما بأني لست متخصصا في البرمجة، غاية ما هنالك أنني باحث في مجال العلوم الشرعية واللغوية، وقد أحتاج لبعض الخدمات المساعدة، فأسأل بعض إخواني، والحاجة -كما يقولون- أم الاختراع.

     

    • Like 2
  4. أعزَّك الله أخانا الكريم، وقد أرفقت لك ملفين فيهما قوائم بكثير من الكلمات التي يكثر الخطأ فيها من كثير من المدخلين، وربما تمر على المصحح دون أن ينتبه لها، وذلك لكثرة ورودها.

    وهناك ملف آخر فيه عبارات شائعة تستخدم خطأ، أو ليست هي الأسلوب الأفصح.

    فلو أضيفت مثل هذه الكلمات في القائمة لكان فيها تنبيه للمصحح، حتى يراجعها، لا أقصد التغيير بصورة آلية، ولكن يكفي فقط الإشارة إلى أن هذا الموضع محل إشكال.

    * ملحوظة: كنت أرسلت إليك قائمة بحروف لا يمكن أن تجتمع في كلمة واحدة، وعندي أيضا قائمة بعلامات ضبط لا يمكن أن تتوالى، أو تجتمع، مثل (السكون بعدها سكون)، (شدة بعدها سكون)، (سكون بعده تنوين).

    فإن أحببت أن أرسلها لك، لتضيفها مثلا على قائمة التصحيح، بحيث يكون هناك إشارة للمصحح إلى احتمال وجود خطأ في هذا الموضع، أكون سعيدا بهذا.

    قواعد للتحرير.doc جدول كلمات خطأ وصواب.docx

    • Like 1
  5. تمام، بارك الله فيك، لكنك فتحت الباب لمسألة أخرى، وأرجو ألا أثقل عليك، وهي: أن هذه الطريقة في التحديد لا تُسجَّل في الماكرو، فهل من طريقة حتى يتم تسجيلها في الماكرو؟ 

    • Like 1
  6. أما عن القائمة، فسوف أجمع ما عندي إن شاء الله وأرسله لك.

    وأما عن الأقواس، فإنها إذا تم استبدالها بأمر عام بالقوسين {} مثلا، فكثيرا ما يحدث خلل في نص الآية نفسه، حيث تتغير أول كلمة في الآية إلى كلمة أخرى.

    • Like 1
  7. المشكلة أنني عندي ملف فيه آيات كثيرة، والملف مكتوب مثلا بخط اللوتس، وطبعا يستخدم أقواس هذا الخط، وعند تحديد الآيات تكون النتيجة (لا يوجد آيات) وذلك لاختلاف القوسين، وهذا ما أوحى لي بفكرة (نسخ القوس) الموجود في الملف ولصقه في خانة معينة في إضافة البيان، ليتم البحث عنه بعينه، لا غيره.

    أما مسألة الاستبدال المتعدد، فهي بالفعل مهمة، وذلك أننا يتكون عندنا قوائم بكثير من الملحوظات، لكنها متفرقة، يعني مثلا: (فى×في)، (البيهقى×البيهقى)، (الطبرانى× الطبراني)، (أم سلمه×أم سلمة)، ونحو هذا كثير جدا، فمن المستحسن جدا جمع قائمة قابلة للإضافة لهذه الكلمات.

    وإن شاء الله أجمع لك ما عندي من كلمات في قائمة، وأرسلها لك.

    بارك الله فيك، وفي جهدك.

    • Like 1
  8. بارك الله فيك أخانا العزيز، وزادك من فضله، فعلا إضافة ممتازة، وعندي رأي يخص الأقواس المستخدمة في القرآن الكريم:

    - لاحظت أن الإضافة تستخدم أقواسا معينة على الباحث أن يختار أحدها أثناء إجراء العملية، وهذه المشكلة تظهر مع القوس المزهر، لأن هناك أشكالا كثيرة مرتبطة بنوع الخط المستخدم، فهل يمكن إتاحة خانة أخرى لنسخ القوس المستخدم؟

    - وهناك أمر آخر يخص الاستبدال المتعدد:

    هل يمكن استخراج قائمة الكلمات التي أدخلت في ملف، مع إمكانية إدراج قائمة على هيئة جدول -مثلا- فيه خانتان: إحداهما للخطأ والأخرى للصواب؟

    لأني أعتبر هذه الميزة من أجمل الميزات المستخدمة في الإضافة، وكثير من الباحثين عندهم قوائم بهذه الأخطاء، فلو جمعت في ملف قابل للزيادة والحذف والتعديل، ثم تدرج مرة واحدة للإضافة، كان هذا أيسر على الباحث.

    جزاكم الله عنا خير الجزاء

    • Like 1
  9. جزاكم الله خيرا، فخير الناس أنفعهم للناس، كما أخبرنا بذلك الصادق المصدوق، صلوات ربي وتسليماته عليه.

    أحب أن أشارككم الفكرة ببساطة:

    الموضوع أنني أريد أن أنشئ فهارس علمية لكتاب معين، كفهرس الآيات، والأحاديث، والآثار، والأعلام، وغير ذلك.

    لكن هناك مشكلة في ترتيب الورد، حيث يدخل (أبو ، ابن ، أم) في الترتيب، وهذا خطأ.

    حيث يجعل مثلا: (أبو بكر) في حرف الألف، والصواب في حرف الباء، ويجعل (أم سلمة) كذلك في حرف الألف، والصواب في حرف السين، وهذا ما جرى عليه علماؤنا القدامى.

    وكثيرا ما تكون قائمة الأعلام كبيرة، فيحصل مجهود كبير لضبط الترتيب.

    فهداني الله لفكرة استفدتها من أحد إخواني، وهو يعمل في مجال البرمجة، ونفذت الماكرو بالشكل التالي:

    1- قائمة الأعلام موجودة في جدول له عمودان: الأول للعلم، والثاني لرقم الصفحة مرتبة حسب ورودها في الكتاب المفهرس.

    2- أخفيت كل الكلمات المراد عدم اعتبارها في الترتيب، وهي (ابن أبي ، ابن أم، ابن ، أبو، أم ، ابنة أبي ابنة) من قائمة تنسيق عن طريق البحث والاستبدال.

    3- رتبت القائمة على العمود الأول (طبعا مع إخفاء الكلمات المقصودة).

    4- رتب الورد القائمة اعتمادا على الظاهر، ولم يعتمد الكلمات المخفية سواء في أول الاسم أو في وسطه أو آخره.

    5- ظللت الجدول، ومن قائمة تنسيق حولت كل المخفي إلى ظاهر، وبهذا تم المراد، وجاء الترتيب حسب المطلوب.

    * ومعذرة على تأخري في الرد، فلم أقرأ رسائلكم إلا صباح الجمعة، صبحكم الله بكل خير. 

    • Like 1
  10. حبيبنا الأستاذ مصطفى، أسعدني ردكم، وللعلم فإني قد استفدت كثيرا من مشاركاتك أنت والأستاذ شحادة، وغيركما من الإخوة الأعضاء، فأسأل الله أن يجعل هذا في ميزان حسناتكم.

    وبالفعل ملحوظتك بخصوص زيادة (ابن أبي) صحيحة، وقد زدتها مع (ابنة) ، (ابنة أبي)، وهذا الماكرو بعد هذه الإضافات:

    Sub ترتيبفيجدول()
    '
    ' ترتيبفيجدول Macro
    'ماكرو لترتيب قائمة أعلام أو قبائل في جدول مع عدم اعتبار أبو، ابن، أم، بنو في الترتيب
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Font.Hidden = True
        With Selection.Find
            .Text = "ابن أبي"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = True
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        With Selection.Find
            .Text = "ابنة أبي"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        With Selection.Find
            .Text = "ابن "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
            End With
        Selection.Find.Execute Replace:=wdReplaceAll
        With Selection.Find
            .Text = "ابنة "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        
        With Selection.Find
            .Text = "أبو "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        
        With Selection.Find
            .Text = "أم "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Font.Hidden = True
        With Selection.Find
            .Text = "بنو "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
        Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _
            :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
            :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
            wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
            wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
            wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
            LanguageID:=wdArabicEgypt, SubFieldNumber:="فقرات", SubFieldNumber2:= _
            "فقرات", SubFieldNumber3:="فقرات"
        Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _
            IgnoreDiacritics:=False, IgnoreHe:=False
        With Selection.Font
            .Name = "AAA GoldenLotus"
            .Size = 16
            .Bold = False
            .Italic = False
            .Underline = wdUnderlineNone
            .UnderlineColor = wdColorAutomatic
            .StrikeThrough = False
            .DoubleStrikeThrough = False
            .Outline = False
            .Emboss = False
            .Shadow = False
            .Hidden = False
            .SmallCaps = False
            .AllCaps = False
            .Color = wdColorAutomatic
            .Engrave = False
            .Superscript = False
            .Subscript = False
            .Spacing = 0
            .Scaling = 100
            .Position = 0
            .Kerning = 0
            .Animation = wdAnimationNone
            .SizeBi = 16
            .NameBi = "AAA GoldenLotus"
            .BoldBi = False
            .ItalicBi = False
            .Ligatures = wdLigaturesNone
            .NumberSpacing = wdNumberSpacingDefault
            .NumberForm = wdNumberFormDefault
            .StylisticSet = wdStylisticSetDefault
            .ContextualAlternates = 0
        End With
        Selection.MoveUp Unit:=wdLine, Count:=1
    End Sub
     

    • Like 1
  11. حبيبنا الأستاذ شحادة.. أولا تحياتي لشخصكم الكريم..

    ثانيا: لو كانت إحدى الكلمات المستثناة من الترتيب في وسط الاسم، لن يضر هذا، وسيبقى الترتيب صحيحا، وهذه صورة تجريبية للجدول:

    إبراهيم النخعي

    80

    أحمد بن محمد أبو علي

    99

    إسماعيل بن علية

    79

    أبو أسيد ابن أبي أدهم

    55

    داود بن علي أبو الفضل

    99

    ابن أبي الدم

    44

    زكريا بن إياس

    100

    أم سلمة

    66

    سيف الله خالد ابن الوليد

    88

    ابنة شاهين

    77

    صاحب الحق

    101

    بنو ضبة

    102

    ابنة أبي عامر

    78

    عبد الله بن عباس

    22

    ابن عمر

    33

    فاضل بن محمد

    103

    محمد بن مسلم أبو الزبير

    55

  12. هذا ماكرو لترتيب (فرز) أعلام أو قبائل في جدول مع عدم اعتبار كلمة (أبو، ابن، أم، بنو) بحيث يكون (ابن عباس) في حرف العين، (أبو بكر) في حرف الباء، (أم سلمة) في جرف السين، فهذا هو المنهج المتبع في ترتيب الأعلام في الفهارس:

    Sub ترتيبجدول()
    '
    ' ترتيبجدول Macro
    'ماكرو لترتيب الأعلام والقبائل مع عدم اعتبار كلمة أبو، أم، ابن، بنو في الترتيب
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Font.Hidden = True
        With Selection.Find
            .Text = "أبو "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            
            .MatchAlefHamza = True
            
        End With
        Selection.Find.Execute replace:=wdReplaceAll
        With Selection.Find
            .Text = "ابن "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            
            .MatchAlefHamza = True
            
        End With
        Selection.Find.Execute replace:=wdReplaceAll
        With Selection.Find
            .Text = "أم "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchAlefHamza = True
            
        End With
        Selection.Find.Execute replace:=wdReplaceAll
        With Selection.Find
            .Text = "بنو "
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchAlefHamza = True
            End With
        Selection.Find.Execute replace:=wdReplaceAll
        Selection.WholeStory
        Selection.MoveLeft Unit:=wdCharacter, Count:=2, Extend:=wdExtend
        Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _
            :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
            :="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
            wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
            wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
            wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _
            LanguageID:=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _
            SubFieldNumber3:="فقرات"
        Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _
            IgnoreDiacritics:=False, IgnoreHe:=False
        With Selection.Font
            .name = "AAA GoldenLotus"
            .Size = 16
            .Italic = False
            .Underline = wdUnderlineNone
            .UnderlineColor = wdColorAutomatic
            .StrikeThrough = False
            .DoubleStrikeThrough = False
            .Outline = False
            .Emboss = False
            .Shadow = False
            .Hidden = False
            .SmallCaps = False
            .AllCaps = False
            .Color = wdColorAutomatic
            .Engrave = False
            .Superscript = False
            .Subscript = False
            .Spacing = 0
            .Scaling = 100
            .Position = 0
            .Kerning = 0
            .Animation = wdAnimationNone
            .SizeBi = 16
            .NameBi = "AAA GoldenLotus"
            .BoldBi = False
            .ItalicBi = False
        End With
        Selection.MoveUp Unit:=wdLine, Count:=1
    End Sub
     

  13. أخانا العزيز/ شحادة، جزاكم الله خيرا على ما قدمته لإخوانك، ومن باب الإسهام في نشر الخير، قمت بعمل قائمة بالحروف التي لا يمكن أن تجتمع في كلمة واحدة، وإذا حدث ذلك فإنه يعني أن هناك خطأ في بنية الكلمة، أو أن هذه الكلمة غير عربية، وقد جمعتها في ماكرو، لأجريه على الملف قبل تصحيحه ليكتشف هذه الأخطاء. فإن رأيت أن تضيف هذا على إضافة البيان في قسم التصحيح، كان حسنا، هذا مجرد رأي، والأمر كما تراه، وهذه قائمة بالحروف من خلال الماكرو:

    ' حروف لا تجتمع

    With Selection.Find
            .Text = "س[شظ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ظ[صدذزسشحخثجصطغقظ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ص[ظثذ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
     With Selection.Find
            .Text = "ث[صث]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ص[ث]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ج[خ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "خ[ظغخ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ع[خحغعأ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
     With Selection.Find
            .Text = "خ[غخ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ق[خج]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ذ[سشطغذ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ص[ذ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ط[ذسذزصظ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ز[س]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
     With Selection.Find
            .Text = "ط[ذزصظ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     

     With Selection.Find
            .Text = "ع[أحخغع]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
     
    With Selection.Find
            .Text = "غ[أجحخعغق]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ق[ج]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ه[حخصعغ]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "ح[ح]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll
     
    With Selection.Find
            .Text = "د[ز]"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchDiacritics = True
            .MatchAlefHamza = True
            .MatchWildcards = True
        End With
        Selection.Find.Execute replace:=wdReplaceAll

    * ملحوظة: عندي كذلك قائمة بأخطاء التشكيل المتكررة، إن أعجبك الأمر، تحياتي لشخصكم الكريم.

    • Thanks 1
  14. أحبابنا أعضاء هذا المنتدى المبارك، هل يمكن البحث في الجدول عن أول كلمة في الصف؟ يعني لو كان هناك كلمة (أبو) في أول الصف، وأخرى في وسطه أو آخره، لا أريدها، لأني سأقوم بإجراء عملية معينة على أوائل الكلمات، يعني مثلا أريد البحث عن كل كلمة (أبو) الموجودة أول السطر الملونة باللون الأخضر، ولا أريد الملونة باللون الأزرق.

    أحمد بن محمد أبو مخلد

    أبو علي بن محمد

    ابن عباس

    أم سلمة

    بنو عدي

    سليمان التيمي

    زر بن حبيش

    أبو داود

  15. الفكرة ببساطة: - أني حولت كل الكلمات المطلوبة الموجودة في بداية الفقرة إلى اللون الأحمر وجعلت بعدها *

                           - جعلت كل فقرة تلقائي قبلها *

                           - وبهذا أصبحت القائمة عبارة عن مقطعين يصلحان أن يكونا جدولا عند اعتبار علامة الجدولة هي (*)

                           - ظللت النص كله وحولت النص إلى جدول مع علامة الجدولة (*)

                           - فأصبح عندي عمودان أحدهما فيه (أبو، أم، ابن، بنو) والعمود الثاني فيه بقية الاسم الذي أوله هذه الكلمات، مع الكلمات الأخرى التي لا تبدأ بـ(أبو، أم، ابن، بنو)

                           - رتبت الجدول على العمود الثاني، وبهذا لم تدخل الكلمات المطلوبة في الترتيب.

                           - حولت مرة أخرى الجول إلى نص، فتكونت القائمة على الترتيب المطلوب.

    ملحوظة: لا بد أن تكون علامة الجدولة المخزنة (*) لأن الورد قد يكون مخزنا فيه علامة أخرى، وهنا الماكرو لن يشتغل على الوجه المطلوب.

                 كما يجب أن نجعل في أول الملف (إنتر) حتى تكون علامة فقرة.

  16. هذا نموذج للقائمة اليمين قبل الترتيب، والأخرى بعد الترتيب، ونلاحظ فيها أن الكلمات المطلوب عدم اعتبارها في الترتيب ملونة باللون الأحمر:

    محمد بن علي

    أحمد بن محمد

    أحمد بن محمد

    أبو أسيد

    سعيد بن المسيب

    داود بن محمد

    أبو أسيد

    أم رويم

    أم رويم

    سعيد بن المسيب

    ابن عباس

    بنو سلمة

    ابن شهاب

    أم سلمة

    بنو سلمة

    ابن شهاب

    أم هانئ

    أبو صالح

    بنو ضبة

    بنو ضبة

    داود بن محمد

    ابن عباس

    أبو صالح

    محمد بن علي

    أم سلمة

    أم هانئ

×
×
  • اضف...

Important Information