أبو عاصم المصري قام بنشر مايو 23, 2023 قام بنشر مايو 23, 2023 • البحث عن كلمة أولها (ال) وآخرها (تنوين): <ال[! ]@[ًٌٍ]> • كلمة أولها (ال) وآخرها (ون) ليس بعدها (فتحة): ال[! ]@(ون)[!َ]> • البحث عن أي كلمة أو رمز، أو رقم: <[! ]*> • البحث عن أي كلمة، وهي تصلح في عمل الماكرو: <[أ-ىيئءؤءاإًٌٍَُِّْ]@> • أو: <[أ-يًٌٍَُِّْ]@> • البحث عن أي كلمة: <[أ-ي]@> أو: <?@?> • البحث عن أي كلمة: <[! ]@> يكتب قبلها كلمة عند البحث والاستبدال لأنها تبطئ الماكرو، وربما تهنج الورد. • البحث عن أي كلمتين: <[! ]@> <[! ]@> • البحث عن أي كلمتين الأولى تبدأ بهمزة، والثانية تنتهي بتاء مربوطة: <أ[! ]@> <[! ]@ة> • البحث عن أي كلمتين الأولى آخرها ألف، والثانية تنتهي بالألف: <[! ]@ا> <[! ]@ا> • البحث عن كلمتين متتاليتين مكررتين: (<* ){2} ، ويمكن البحث بـ{3، 4} أو <([أؤئإءيا-ى]@)> \1> أو: (<[ء-يا-ى]@)[ ,.;:]@\1> • البحث عن كلمتين، أو عددين، أو جملتين متتاليتين مكررتين: (<*>) \1 • البحث عن كلمتين، أو عددين، أو جملتين متتاليتين مكررتين بينهما فاصلة: (<*>)، \1 • ولحذف الكلمة أو الجملة المكررة نضع في مربع الاستبدال: \1 • البحث عن حرفين أو رقمين متتاليين متطابقين: (?){2} • البحث عن أي كلمتين أو حرفين أو رقمين متتاليين متطابقين: (<*){2} • البحث عن أي كلمتين متطابقتين بينهما أي كلمة: (<[! ]@>) [! ]@ \1 • البحث عن آخر كلمة في الخلية (تنفع للشعر): <[أ-ىيئءؤءاإًٌٍَُِّْ]@>[! ء-ى] • البحث عن أي رقمين متتاليين بينهما فاصلة مثل 22، 22، ويمكن بـ{3، 4}: (<*){2}، (<*){2} • البحث عن أي رقمين متتاليين بينهما فاصلة، وليس قبلهما سلاش: [!\/]<[0-9]@>، <[0-9]@>[!\/] • البحث عن أي رقمين متتاليين بينهما فاصلة، الثاني ليس قبله سلاش: <[0-9]@>، <[0-9]@>[!\/] • البحث عن فقرة وتظليلها: (*^13) • البحث عن فقرتين متتاليتين متطابقتين: (*^13)\1 • البحث عن ثلاث فقرات متتالية متطابقة: (*^13)\1\1 • البحث عن فقرة قبلها فقرة فارغة وبعدها فقرة فارغة: ^13{2}([!^13]@^13)^13 • البحث عن فقرة قبلها فقرة فارغة: ^13{2}([!^13]@^13) • البحث عن فقرة قبلها أو بعدها فقرة فارغة: ^13{2}([!^13]@) • ولحذف هاتين الفقرتين الفارغتين ضع في خانة الاستبدال: ^p<H1>\1 • البحث عن الفقرات المكررة بشكل متتالي: (*^13)(\1)@ • البحث عن فقرة عن طريق حروف البدل: ^13 • البحث عن فقرة قبلها أي حرف عن طريق حروف البدل: >^13 ، وبعدم اعتبار المسافة آخر الفقرة: >^13* • البحث عن أي فقرة إلى كلمة (في) مثلا للتظليل: <[! ]*في> • البحث عن فقرة ليس في نهايتها (.) أو (:) أو (؟) أو (!): ([!^13.:\؟\!\-\!]^13) • تحديد ما بين الفاصلتين: ، <[! ]*>، • تحديد ما بين أي كلمتين متطابقتين: (<[! ]@>) [! ]* \1 • تحديد أي كلمتين متطابقتين بعد كل منهما أي كلمة: (<[! ]@>) [! ]@ \1 (<[! ]@>) • تحديد ما بين كلمتين مثل: عن <[! ]*> عن • البحث عن أي كلمة مكونة من حرفين: <[! ]@{2}> • البحث عن أي كلمة مكونة من حرفين آخرها تنوين: <[! ]@{2}[!ًٌٍ]> • البحث عن كلمة خمس حروف ليس منها علامات الضبط: <[! ]@{5}[ًٌٍَُِّْ]> • للبحث عما بين قوسين هلاليين: (\(*)\) أو \(?@\) • للبحث عما بين قوسين هلاليين باستثناء علامة الحاشية: \(<[أ-ىيئءؤءاإًٌٍَُِّْ]*>\) • للبحث عما بين معقوفين: \[?@\] • للبحث عن أي رقم دون الحروف: [0???-9] • للبحث عن أي رقم فردي أو زوجي أو أكثر: <[0-9]@> • لتظليل رقم بعده سلاش (شرطة مائلة/) حتى آخر الفقرة: <[0-9]@>/*^13 • للبحث عن رقم واحد: <[0-9]{1}> أو رقمين: <[0-9]{2}> وهكذا بزيادة رقم بين {} • للبحث عن أي كلمة دون الأرقام: <[أ-ى][! ]@> • للبحث عن أي رقمين بينهما فاصلة: [0???-9]، [0???-9] • للبحث عن الأرقام بين سلاشين شرطتين مائلتين //: /[???0-9]*/ • للبحث عن أي رقم حتى نهاية الفقرة: [0-9]*^13 • للبحث عن الحروف والأرقام دون المسافات وعلامات الترقيم: [أ-ي0-9] • البحث عن الحاشية السفلية مع حروف البدل: ^2 • البحث عن الحاشية الفارغة التي بعد رقمها قوس هلالي: ^2\) [!ء-ي] • البحث عن الحاشية الفارغة التي ليست بين قوسين: ^2[!\)][!ء-ي] • البحث عن حاشية قبل علامة الترقيم: ([.:،؛\?\!])\(^2\) • البحث عن قوس مربع [ ليس له قوس غلق ] : \[[!\]]@^13 • البحث عن قوس هلالي ( ليس له قوس غلق ) : \([!\)]@^13 • البحث عن قوس مدبب ( ليس له قوس غلق ) : \«[!\»]@^13 • البحث عن قوس مرعوش ( ليس له قوس غلق ) : \{[!\}]@^13 • لعكس ترتيب كلمات متتالية مثل: عماد محمد أحمد، نضع في خانة البحث: (عماد) (محمد) (أحمد) : وفي خانة الاستبدال: \3 \2 \1 مع مراعاة أن تكون الأرقام باللغة الإنجليزية. • لنقل كلمة مكان سابقتها والعكس، مثل: محمد عمر ، نضع في خانة البحث: (محمد) (عمر) : وفي خانة الاستبدال: \2 \1 • لنقل علامة الحاشية قبل علامة الترقيم: في خانة البحث: ([.،:;\?\!])(\(^2\)) : وفي خانة الاستبدال: \2\1 • للبحث عن أكثر من مسافة متتالية: [ ]@([! ]) • ولجعلها مسافة واحدة نستبدلها بـ: \1 • لجعل علامة الحاشية بين قوسين: في مربع بحث اكتب الآتي ^f وفي مربع استبدال اكتب (^&) وهذا الكود يعني أن المكتوب في خانة البحث يساوي المكتوب في خانة الاستبدال، فيمكن استخدامه مع أي حرف وأي رقم، حيث الاستبدال لا ينفع مع أي حرف وأي رقم، لكن بإضافة هذا الكود يصبح الاستبدال متاحا. • لإضافة صفر بعد رقمين مثل (015): نضع في خانة البحث: <[0-9]{2}> وفي الاستبدال: 0^& • لإضافة صفر بعد رقم واحد، مثل (05): في خانة البحث: <[0-9]{1}> وفي الاستبدال: 0^& • للبحث عن أي رقم بعده صفر (0) بعده سلاش (/) على صورة (08/): 0^#/ 1
مصطفى شاهين قام بنشر يونيو 11, 2023 قام بنشر يونيو 11, 2023 (معدل) حياكم الله أخي أبو عاصم بارك الله في جهودك الطيبة، معلومات طيبة ومفيدة، بوركت سؤالي: • البحث عن آخر كلمة في الخلية (تنفع للشعر): <[أ-ىيئءؤءاإًٌٍَُِّْ]@>[! ء-ى] أريد كود يحدد آخر حرف بالخلية، سواء كان عليه تشكيل أم لا، هذا يفيد بإجراء ماكرو لنسخ آخر حرف ولصقه بالعمود التالي، وترتيب الأبيات الشعرية حسب الشطر الثاني مع الشكر تم تعديل يونيو 11, 2023 بواسطه مصطفى شاهين
أبو عاصم المصري قام بنشر يونيو 12, 2023 الكاتب قام بنشر يونيو 12, 2023 تفضل أخي مصطفى، هذا ماكرو لترتيب أبيات شعرية في جدول من خلال الورد: ' ' 'ماكرو ترتيب أبيات شعرية في جدول، ولا بد أن يكون هناك جدول فقط ' On Error Resume Next If Len(Selection.Text) = 1 Then MsgBox "من فضلك ظلل عمود الشطر الثاني الذي فيه القافية" Exit Sub End If Selection.Font.Color = 10498160 Selection.MoveLeft Unit:=wdCharacter, Count:=1 For i = 1 To 100000 Selection.EndKey Unit:=wdLine Selection.Find.ClearFormatting Selection.Find.Font.Color = 10498160 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = False .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Copy Selection.SelectRow Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdLine Selection.PasteAndFormat (wdPasteDefault) Selection.HomeKey Unit:=wdLine, Extend:=wdExtend If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection = StrReverse(Selection) Selection.HomeKey Unit:=wdLine Selection.MoveDown Unit:=wdLine, Count:=1 Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineNone .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveLeft Unit:=wdCharacter, Count:=1 If Selection.Find.Found = False Then Exit For End If Next i Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " [اويى]" .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll 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:=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _ SubFieldNumber3:="فقرات" Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _ IgnoreDiacritics:=False, IgnoreHe:=False Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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.HomeKey Unit:=wdStory Beep MsgBox "تم ترتيب الشعر بنجاح" End Sub 1
مصطفى شاهين قام بنشر يونيو 19, 2023 قام بنشر يونيو 19, 2023 في 12/6/2023 at 08:47, أبو عاصم المصري said: تفضل أخي مصطفى، هذا ماكرو لترتيب أبيات شعرية في جدول من خلال الورد: بارك الله فيك أخي الفاضل أبو عاصم المصري، ما شاء الله، مُبدع الله يعطيك العافية شاكر لك جهودك الطيبة 1
مصطفى شاهين قام بنشر يونيو 20, 2023 قام بنشر يونيو 20, 2023 السلام عليكم ورحمة الله وبركاته،،، حاولت أخي الكريم أبو عاصم نسخ الماكرو ووضعه في المكان المخصص له، تظهر لي رسالة خطأ، علماً أنني حددت الشطر الثاني من الأبيات الشعرية، وبعد تنفيذ الماكرو تظهر المشكلة. لاطلاعكم لطفاً 1
أبو عاصم المصري قام بنشر يونيو 25, 2023 الكاتب قام بنشر يونيو 25, 2023 احذف أي شيء في الملف إلا الجدول، ولا تترك مسافة قبل الجدول، وسيعمل بشكل سليم إن شاء الله. ولو لم يتيسر لك، فأرسل لي الملف أو جزءا منه وسأجرب عليه الماكرو لمعرفة السبب. ومعذرة على التأخير، فلم يتيسر لي النظر إلى الرسائل إلا الآن
مصطفى شاهين قام بنشر يونيو 29, 2023 قام بنشر يونيو 29, 2023 (معدل) في 25/6/2023 at 15:44, أبو عاصم المصري said: احذف أي شيء في الملف إلا الجدول، ولا تترك مسافة قبل الجدول، وسيعمل بشكل سليم إن شاء الله. بداية، كل عام وأنتم بخير مرفق ملف به أبيات شعرية للتجربة فقط، وحدثت نفس المشكلة. لاطلاعكم لطفاً شعر - عينة.rar تم تعديل يونيو 29, 2023 بواسطه مصطفى شاهين
أبو عاصم المصري قام بنشر يوليو 4, 2023 الكاتب قام بنشر يوليو 4, 2023 الماكرو يعمل بصورة صحيحة، وقام بترتيب الملف تخير يوما باللبل أتواصل مع حضرتك بصورة مباشرة حتى تتضح الصورة
شحادة بشير قام بنشر يوليو 4, 2023 قام بنشر يوليو 4, 2023 الأخ أبو عاصم المصري، جزاك الله خيراً على الكود. الأخ مصطفى شاهين، فضلاً، انسخ الكود التالي كاملاً: Sub TrtebShar() 'ماكرو ترتيب أبيات شعرية في جدول، ولا بد أن يكون هناك جدول فقط ' On Error Resume Next If Selection.Information(wdWithInTable) = True Then 'تحديد العمود الثالث Selection.Tables(1).Columns(3).Select End If If Len(Selection.Text) = 1 Then MsgBox "من فضلك ظلل عمود الشطر الثاني الذي فيه القافية" Exit Sub End If Selection.Font.Color = 10498160 Selection.MoveLeft Unit:=wdCharacter, Count:=1 For i = 1 To 100000 Selection.EndKey Unit:=wdLine Selection.Find.ClearFormatting Selection.Find.Font.Color = 10498160 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = False .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Copy Selection.SelectRow Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdLine Selection.PasteAndFormat (wdPasteDefault) Selection.HomeKey Unit:=wdLine, Extend:=wdExtend If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection = StrReverse(Selection) Selection.HomeKey Unit:=wdLine Selection.MoveDown Unit:=wdLine, Count:=1 Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineNone .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveLeft Unit:=wdCharacter, Count:=1 If Selection.Find.Found = False Then Exit For End If Next i Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " [اويى]" .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll 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:=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _ SubFieldNumber3:="فقرات" Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _ IgnoreDiacritics:=False, IgnoreHe:=False Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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.HomeKey Unit:=wdStory Beep MsgBox "تم ترتيب الشعر بنجاح" End Sub 1
مصطفى شاهين قام بنشر يوليو 6, 2023 قام بنشر يوليو 6, 2023 في 4/7/2023 at 14:28, شحادة بشير said: Sub TrtebShar() بارك الله فيك أخي شحادة ظهرت رسالة خطأ
أبو عاصم المصري قام بنشر يوليو 6, 2023 الكاتب قام بنشر يوليو 6, 2023 بارك الله في أخويَّ مصطفى وشحادة... فكرة ماكرو ترتيب الشعر بسيطة، وهي كالتالي: 1- تحديد الشطر الذي فيه القافية. 2- اختيار الكلمة الأخيرة من هذا الشطر (القافية). 3- نسخها ووضعها في أول الشطر الأول مقلوبة الحروف بلون مخالف، يعني إذا كانت الكلمة (نقصان) ستصبح (ناصقن). 4- ثم نحذف الألف والواو والياء التي لا تصلح أن تكون قافية. 5- ثم نرتب الجدول حسب العمود الأول. 6- نحذف هذه الكلمات المقلوبة عن طريق لونها. وبهذا يكون الشعر مرتبا حسب حروف الهجاء (همزة، باء، تاء،.....) ويتبقى فقط مشكلة الهاء التي لا تصلح أن تكون قافية، وهذه لا بد فيها من التدخل اليدوي. *ملحوظة: الطريقة نفسها تنفع مع ترتيب القوافي (يعني قائمة القوافي) مثل: (إنسان- نقصان- تميل- الأمل) وهكذا. مع وافر تقديري واحترامي
شحادة بشير قام بنشر يوليو 6, 2023 قام بنشر يوليو 6, 2023 3 ساعات مضت, مصطفى شاهين said: بارك الله فيك أخي شحادة ظهرت رسالة خطأ أخي العزيز مصطفى ما يظهر في صورتك ليس هو الماكرو الذي أرسلته في مشاركتي، فالماكرو الذي أرسلته في مشاركتي يبدأ بهذه الأكواد: Sub TrtebShar() 'ماكرو ترتيب أبيات شعرية في جدول، ولا بد أن يكون هناك جدول فقط ' On Error Resume Next If Selection.Information(wdWithInTable) = True Then 'تحديد العمود الثالث Selection.Tables(1).Columns(3).Select End If وهذا هو كاملاً: Sub TrtebShar() 'ماكرو ترتيب أبيات شعرية في جدول، ولا بد أن يكون هناك جدول فقط ' On Error Resume Next If Selection.Information(wdWithInTable) = True Then 'تحديد العمود الثالث Selection.Tables(1).Columns(3).Select End If If Len(Selection.Text) = 1 Then MsgBox "من فضلك ظلل عمود الشطر الثاني الذي فيه القافية" Exit Sub End If Selection.Font.Color = 10498160 Selection.MoveLeft Unit:=wdCharacter, Count:=1 For i = 1 To 100000 Selection.EndKey Unit:=wdLine Selection.Find.ClearFormatting Selection.Find.Font.Color = 10498160 Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = False .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend Selection.Copy Selection.SelectRow Selection.Font.Color = wdColorAutomatic Selection.HomeKey Unit:=wdLine Selection.PasteAndFormat (wdPasteDefault) Selection.HomeKey Unit:=wdLine, Extend:=wdExtend If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection = StrReverse(Selection) Selection.HomeKey Unit:=wdLine Selection.MoveDown Unit:=wdLine, Count:=1 Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineNone .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^$" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveLeft Unit:=wdCharacter, Count:=1 If Selection.Find.Found = False Then Exit For End If Next i Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = " [اويى]" .Replacement.Text = " " .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll 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:=wdArabic, SubFieldNumber:="فقرات", SubFieldNumber2:="فقرات", _ SubFieldNumber3:="فقرات" Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _ IgnoreDiacritics:=False, IgnoreHe:=False Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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.HomeKey Unit:=wdStory Beep MsgBox "تم ترتيب الشعر بنجاح" End Sub
محمود ابوالخير قام بنشر يوليو 6, 2023 قام بنشر يوليو 6, 2023 (معدل) السلام عليكم ورحمة الله وبركاته كنت اريد كود vba لحفظ ملف ورد وأخذ اسم المستند من المستند النشط من السطر ١٦ وهي الارقام قبل وبعد كلمة لسنة ونفصل بين ارقام قبل (-) ارقام بعد واجتهد وتم كتابة هذا الكود وبه خطأ لا اعرف تحديده انتظر توجيهاتكم تم تعديل يوليو 6, 2023 بواسطه محمود ابوالخير
مصطفى شاهين قام بنشر يوليو 9, 2023 قام بنشر يوليو 9, 2023 في 6/7/2023 at 10:31, شحادة بشير said: أخي العزيز مصطفى ما يظهر في صورتك ليس هو الماكرو الذي أرسلته في مشاركتي، فالماكرو الذي أرسلته في مشاركتي يبدأ بهذه الأكواد: بارك الله فيك أخي شحادة، وكذلك الشكر موصول لأخي أبو عاصم تم تعديل الكود، وسارت الأمور على أفضل ما يكون ما شاء الله تبارك الله، بوركت الجهود الطيبة؛ لخدمة الباحثين والمهتمين بهذا المجال يعطيكم العافية دمتم بخير
أبو عاصم المصري قام بنشر يوليو 17, 2023 الكاتب قام بنشر يوليو 17, 2023 لو أحببت ماكرو آخر لترتيب الأبيات حسب الحركات (سكون - فتح - ضم - كسر) عندي أيضا
مصطفى شاهين قام بنشر يوليو 18, 2023 قام بنشر يوليو 18, 2023 16 ساعات مضت, أبو عاصم المصري said: لو أحببت ماكرو آخر لترتيب الأبيات حسب الحركات (سكون - فتح - ضم - كسر) عندي أيضا بارك الله فيك أخي أبو عاصم أنتظر الماكرو الخاص بترتيب الأبيات حسب الحركات. أشكر لك جهودك الطيبة
أبو عاصم المصري قام بنشر يوليو 18, 2023 الكاتب قام بنشر يوليو 18, 2023 هذا ماكرو يقوم بترتيب الأبيات الشعرية الموجودة في الجدول، فيبدأ أولا بحرف الهمزة، وبداخلها يكون الترتيب حسب الحركات (سكون - فتح - ضم - كسر)، ثم الباء، والتاء.... وهكذا إلى آخر حروف الهجاء، لكنه يحتاج إلى مراجعة، خصوصا حرف الهاء، حيث يأتي أحيانا على أنه قافية، وأخرى يأتي زائدا لا يصلح أن يكون قافية، وهنا تضع البيت في موضعه، وهذا يحتاج متخصصا. فتفضل: ' ' ترتيب شعر حسب الحركات : سكون- فتح - ضم - كسر، مع مراعاة ترتيب حروف الكلمة أيضا 'لا بد من تشكيل الحرف الأخير من من الكلمة الأخيرة في الشطر الثاني 'إذا كان الحرف الأخير ألفا أو واوا أو ياء فيشكل الحرف قبل الحروف الثلاثة If Len(Selection.Text) = 1 Then MsgBox "من فضلك ظلل عمود الشطر الثاني الذي فيه القافية" Exit Sub End If Do On Error Resume Next Selection.Font.Color = 10498160 Selection.Find.ClearFormatting Selection.Find.Font.Color = 10498160 ' البحث عن اللون الأرجواني باختيار الأسفل Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.Font.Color = wdColorAutomatic Selection.EndKey Unit:=wdLine Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "<[أ-ىيئءؤآءاإًٌٍَُِّْ]@>" .Replacement.Text = "" .Forward = False .Wrap = wdFindStop .Format = False .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Selection.Copy Selection.SelectRow Selection.HomeKey Unit:=wdLine Selection.PasteAndFormat (wdPasteDefault) Selection.HomeKey Unit:=wdLine, Extend:=wdExtend If Selection.Font.Underline = wdUnderlineNone Then Selection.Font.Underline = wdUnderlineSingle Else Selection.Font.Underline = wdUnderlineNone End If Selection.Font.Color = 5287936 Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 5287936 End With Selection.Find.Replacement.ClearFormatting ' البحث عن الشدة أو السكون أو الفتحة أو الضمة أو الكسرة باتجاه الأعلى ونسخها With Selection.Find .Text = "[َُِّْ]" .Replacement.Text = "" .Forward = False .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Selection.Copy If Selection.Find.Found = False Then ' إذا لم يكن هناك تشكيل على الكلمة الأخيرة فلون الكلمة باللون الأرجواني وانتقل إلى الصف التالي Selection.HomeKey Unit:=wdLine, Extend:=wdExtend Selection.Font.Color = 10498160 Selection.SelectCell Selection.MoveDown Unit:=wdLine, Count:=1 ''''''''''''''''''''''''''''''''''''''' Else Selection.MoveRight Unit:=wdWord, Count:=1 Selection.HomeKey Unit:=wdLine, Extend:=wdExtend Selection.Font.Color = 10498160 Selection.HomeKey Unit:=wdLine Selection.TypeText Text:="[" Selection.PasteAndFormat (wdPasteDefault) Selection.TypeText Text:="]" Selection.HomeKey Unit:=wdLine, Extend:=wdExtend Selection.Font.Color = 192 Selection.SelectCell Selection.MoveDown Unit:=wdLine, Count:=1 End If Loop Until (Selection.End = ActiveDocument.Content.End - 1) Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting ' حذف تشكيل الكلمة التي فيها القافية تمهيدا لعكس حروفها للترتيب With Selection.Find .Text = "[ًٌٍَُِّْ]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Do Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindStop .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection = StrReverse(Selection) ' عكس ترتيب حروف الكلمة Selection.SelectCell Selection.MoveDown Unit:=wdLine, Count:=1 Loop Until (Selection.End = ActiveDocument.Content.End - 1) Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "] " .Replacement.Text = "]" .Forward = True .Wrap = wdFindContinue .Format = True .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.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting With Selection.Find ' حذف الألف والواو والياء من أول الكلمات لأنها لا تصلح أن تكون قافية .Text = "\][واىي]" .Replacement.Text = "]" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting 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 Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "<[اوي]" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = True .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute Replace:=wdReplaceAll Selection.HomeKey Unit:=wdStory Selection.Find.ClearFormatting Selection.Find.Font.Underline = wdUnderlineSingle Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Font.Underline = wdUnderlineSingle With Selection.Find ' وضع التشكيل الذي بن معقوفين بعد الحرف الأول من الكلمة .Text = "(\[[-َُِّْ]\])(?)" .Replacement.Text = "\2\1" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.HomeKey Unit:=wdLine findArray = Array("[ْ]", "[ّ]", "[َ]", "[ُ]", "[ِ]") ' تغيير التشكيل إلى أرقام، يعني: السكون= 1، والشدة = 2، والفتحة= 3، والضمة = 4، والكسرة = 5 replArray = Array("1", "2", "3", "4", "5") For i = 0 To UBound(findArray) ' لتنفيذ الأمر حتى آخر الملف Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = findArray(i) .Replacement.Text = replArray(i) .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = True .MatchWholeWord = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll Next i ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' وذلك لمراعاة الترتيب بالحرف الأول ثم الرقم Selection.HomeKey Unit:=wdStory Selection.Sort ExcludeHeader:=False, FieldNumber:="عمود 1", SortFieldType _ :=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _ :="عمود 1", SortFieldType2:=wdSortFieldNumeric, SortOrder2:= _ wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _ wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _ wdSortSeparateByCommas, SortColumn:=False, CaseSensitive:=False, _ LanguageID:=wdArabicYemen, SubFieldNumber:="فقرات", SubFieldNumber2:= _ "فقرات", SubFieldNumber3:="فقرات" Selection.Sort BidiSort:=False, IgnoreThe:=True, IgnoreKashida:=False, _ IgnoreDiacritics:=False, IgnoreHe:=False Selection.Find.ClearFormatting Selection.Find.ClearFormatting With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 10498160 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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 With Selection.Find.Font .Underline = wdUnderlineSingle .Color = 192 End With Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .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.HomeKey Unit:=wdStory Beep End Sub
مصطفى شاهين قام بنشر يوليو 18, 2023 قام بنشر يوليو 18, 2023 2 ساعات مضت, أبو عاصم المصري said: فتفضل: زادك الله من فضله، وسعة في الحسنات والعلم والرزق سلمت أخي أبو عاصم، أشكر لك جهودك الدائمة يعطيك العافية 1
FranklinWrights قام بنشر أكتوبر 10 قام بنشر أكتوبر 10 (معدل) جزاك الله خيراً Nox Vidmate VLC تم تعديل أكتوبر 10 بواسطه FranklinWrights
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.