أبو عاصم المصري قام بنشر يناير 3, 2022 قام بنشر يناير 3, 2022 عرفانا للجميل، وردا لبعض ما استفدته من هذا المنتدى المبارك، أقدم لإخواني (ماكرو تشكيل آلي) أستفيد منه كثيرا في مجال التشكيل، وهو عبارة عن ماكرو يقوم بالتالي: 1- ينسخ الكلمة أو الكلمتين، أو أكثر حسب تحديد الباحث، ثم يبحث بها في ملف آخر مشكول. 2- إذا وجد النص الذي يبحث عنه، فإنه ينسخه ويرجع إلى الملف غير المشكول، ليقوم باستبدال كل الكلمات غير المشكولة، فيضع مكانها المشكولة. 3- إذا لم يجد ما يبحث عنه، رجع إلى الملف ونسخ النص التالي ليبحث عنه، وهكذا. 4- يقوم بتلوين الكلمات المشكولة باللون الأحمر. 5- وفي نهاية العمليات يحفظ الملف بشكل آلي. 6- والمطلوب: أن تفتح ملف آخر مشكول ليبحث فيه الماكرو، فمثلا إذا كنت تشكل كتابا في الفقه فعليك أن تفتح ملفا آخر لكتاب فقه مشكول لينقل منه. 7- يجب أن تسمي الملف الذي تنقل منه التشكيل برمز معين، وليكن مثلا (----). 8- عند تشغيل الماكرو تخرج رسالة بعدد الكلمات المطلوب تشكيلها + 1 ، يعني لو أردت تشكيل كلمتين، فاكتب (3)، وإذا أردت تشكيل (4) اكتب (5)، وهكذا 9- والرسالة الثانية عدد مرات التكرار، يعني تكرر الأمر 100 مرة، أو 200، أو 1000، وهكذا. 10- والرسالة الثالثة فيها تحديد المدة، فيمكن أن تحدد المدة بالدقيقة، فلو كتبت (1) فهذا يعني أن الماكرو يعمل لدقيقة ثم يقف، ولو كتبت (2) فسيقف بعد دقيقتين، وهكذا. وهذا هو الماكرو لمن أراد: Sub تشكيلآلي() ' ' تشكيلآلي Macro 'ماكرو يشكل كلمات ملف من ملف آخر مشكول، بشرط فتح الملفين في آن واحد، وعند تشغيل الماكرو تختار عدد الكلمات المراد تشكيلها، كما تختار عدد مرات تكرار ذلك في الملف 'تمت إضافة تحديد الوقت في هذا الماكرو، فإذا كتبت (1) في مربع الوقت فهذا يعني دقيقةواحدة، وإذا كتبت(2)فهذايعني دقيقتين، وهكذا Dim X, a, b, c, y As Integer Dim t As Date t = Now Dim startTime As Date startTime = Now Do k = (InputBox("اكتب عدد الكلمات + 1")) X = (InputBox("اكتب عدد مرات التنفيذ")) y = (InputBox("حدد مدة تشغيل الماكرو بالدقيقة")) For i = 1 To X Selection.MoveRight unit:=wdWord, count:=1, Extend:=wdExtend If DateDiff("n", startTime, Now, endTime) = y Then ' s =عدد الثواني ' n =الدقائق ' h =ساعة MsgBox "تم تشكيل الكلمات وتلوينها باللون الأحمر" & Format(Now - t, " والوقت المستغرق = h:n:s ") Exit Do Exit Sub ActiveDocument.Save End If If (Len(Selection.Text) - 2 > 0) Then If Selection.Find.Found = False Then Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 End If Selection.MoveLeft unit:=wdCharacter, count:=1 Selection.MoveLeft unit:=wdWord, count:=1 Selection.MoveLeft unit:=wdCharacter, count:=1 Selection.MoveRight unit:=wdWord, count:=k, Extend:=wdExtend a = Selection.Text Windows(1).Activate Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = a .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 If Selection.Find.Found = False Then Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 Else b = Selection.Text Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 Selection.Find.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorRed With Selection.Find .Text = a .Replacement.Text = b .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.MoveRight unit:=wdWord, count:=1 End If End If Next i Beep MsgBox "تم تشكيل الكلمات وتلوينها باللون الأحمر" & Format(Now - t, " والوقت المستغرق = h:n:s ") Exit Do Exit Sub Loop ActiveDocument.Save End Sub 3 2
حامل المسك قام بنشر يوليو 1, 2022 قام بنشر يوليو 1, 2022 في 3/1/2022 at 11:35, أبو عاصم المصري said: عرفانا للجميل، وردا لبعض ما استفدته من هذا المنتدى المبارك، أقدم لإخواني (ماكرو تشكيل آلي) أستفيد منه كثيرا في مجال التشكيل، وهو عبارة عن ماكرو يقوم بالتالي: 1- ينسخ الكلمة أو الكلمتين، أو أكثر حسب تحديد الباحث، ثم يبحث بها في ملف آخر مشكول. 2- إذا وجد النص الذي يبحث عنه، فإنه ينسخه ويرجع إلى الملف غير المشكول، ليقوم باستبدال كل الكلمات غير المشكولة، فيضع مكانها المشكولة. 3- إذا لم يجد ما يبحث عنه، رجع إلى الملف ونسخ النص التالي ليبحث عنه، وهكذا. 4- يقوم بتلوين الكلمات المشكولة باللون الأحمر. 5- وفي نهاية العمليات يحفظ الملف بشكل آلي. 6- والمطلوب: أن تفتح ملف آخر مشكول ليبحث فيه الماكرو، فمثلا إذا كنت تشكل كتابا في الفقه فعليك أن تفتح ملفا آخر لكتاب فقه مشكول لينقل منه. 7- يجب أن تسمي الملف الذي تنقل منه التشكيل برمز معين، وليكن مثلا (----). 8- عند تشغيل الماكرو تخرج رسالة بعدد الكلمات المطلوب تشكيلها + 1 ، يعني لو أردت تشكيل كلمتين، فاكتب (3)، وإذا أردت تشكيل (4) اكتب (5)، وهكذا 9- والرسالة الثانية عدد مرات التكرار، يعني تكرر الأمر 100 مرة، أو 200، أو 1000، وهكذا. 10- والرسالة الثالثة فيها تحديد المدة، فيمكن أن تحدد المدة بالدقيقة، فلو كتبت (1) فهذا يعني أن الماكرو يعمل لدقيقة ثم يقف، ولو كتبت (2) فسيقف بعد دقيقتين، وهكذا. وهذا هو الماكرو لمن أراد: Sub تشكيلآلي() ' ' تشكيلآلي Macro 'ماكرو يشكل كلمات ملف من ملف آخر مشكول، بشرط فتح الملفين في آن واحد، وعند تشغيل الماكرو تختار عدد الكلمات المراد تشكيلها، كما تختار عدد مرات تكرار ذلك في الملف 'تمت إضافة تحديد الوقت في هذا الماكرو، فإذا كتبت (1) في مربع الوقت فهذا يعني دقيقةواحدة، وإذا كتبت(2)فهذايعني دقيقتين، وهكذا Dim X, a, b, c, y As Integer Dim t As Date t = Now Dim startTime As Date startTime = Now Do k = (InputBox("اكتب عدد الكلمات + 1")) X = (InputBox("اكتب عدد مرات التنفيذ")) y = (InputBox("حدد مدة تشغيل الماكرو بالدقيقة")) For i = 1 To X Selection.MoveRight unit:=wdWord, count:=1, Extend:=wdExtend If DateDiff("n", startTime, Now, endTime) = y Then ' s =عدد الثواني ' n =الدقائق ' h =ساعة MsgBox "تم تشكيل الكلمات وتلوينها باللون الأحمر" & Format(Now - t, " والوقت المستغرق = h:n:s ") Exit Do Exit Sub ActiveDocument.Save End If If (Len(Selection.Text) - 2 > 0) Then If Selection.Find.Found = False Then Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 End If Selection.MoveLeft unit:=wdCharacter, count:=1 Selection.MoveLeft unit:=wdWord, count:=1 Selection.MoveLeft unit:=wdCharacter, count:=1 Selection.MoveRight unit:=wdWord, count:=k, Extend:=wdExtend a = Selection.Text Windows(1).Activate Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = a .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 If Selection.Find.Found = False Then Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 Else b = Selection.Text Windows(2).Activate Selection.MoveRight unit:=wdCharacter, count:=1 Selection.Find.ClearFormatting Selection.Find.Replacement.Font.Color = wdColorRed With Selection.Find .Text = a .Replacement.Text = b .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.MoveRight unit:=wdWord, count:=1 End If End If Next i Beep MsgBox "تم تشكيل الكلمات وتلوينها باللون الأحمر" & Format(Now - t, " والوقت المستغرق = h:n:s ") Exit Do Exit Sub Loop ActiveDocument.Save End Sub ما شاء الله تبارك الله ،، عمل رائع جدًا.. وهذا يمكن أن يظهر بشكل أكبر في الأبحاث التي يطلب فيها تشكيل الأحاديث مثلا أو كلمات التعريف التي تتطلب تشكيلا.. الحقيقة عمل رائع .. ونجتاج لمثل هذه الأفكار التطبيق والطوير ليكتمل البناء بهذا الفريق المبدع الرائع وبهذا التعاون البناء.. شكرا لكم من الأعماق،، 1
أ / محمد صالح قام بنشر يوليو 2, 2022 قام بنشر يوليو 2, 2022 فكرة رائعة تحتاج لمزيد من التطوير وخاصة في ضبط نهاية الكلمات فربما الكلمة المشكولة مرفوغة وموقع التي يتم تشكيلها منصوب مثلا ورغم كل شيء بارك الله لك وكل عام وجميع الأعضاء زالزوار بكل خير وصحة وسعادة 1
أبو عاصم المصري قام بنشر يوليو 3, 2022 الكاتب قام بنشر يوليو 3, 2022 لو قمت باختيار تشكيل خمس كلمات أو أربع كلمات أو ثلاثة مثلا سيكون احتمال الخطأ نادرا جدا. ولذلك أنصح أن تبدأ التشكيل بعدد كلمات كبير، ثم تنتقل إلى الأصغر، يعني تبدأ بـ(5) كلمات، ثم (4)، ثم (3)، ثم (2)، ثم كلمة واحدة. وبهذا يكون الخطأ نادرا جدا. تحياتي لحضرتك
Muner قام بنشر سبتمبر 9, 2022 قام بنشر سبتمبر 9, 2022 ما شاء الله تبارك الله جزاك الله خيرا أخي اين أضع هذا الماكرو وكيف يعمل بزر أو كيف أنا لاول مرة باستخدام الماكرو في للوورد تستخدمه في الإكسيل فقط هل هو مثل الإكسيل ؟
kzamiza قام بنشر نوفمبر 3, 2022 قام بنشر نوفمبر 3, 2022 ما شاء الله تسلم إيدك يا فضيلة الأستاذ (أبو عاصم المصري) جهد مثمر بناء .... من محبكم أبو تميم
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.