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

أريد ماكرو يقوم بتحديد كلمة البحث


الردود الموصى بها

ألف شكر لك أخي العزيز تومي محمد، ولكن للأسف الماكرو لا يعمل، حيث يقوم بتحديد كلمة واحدة فقط، ومن ثم تحتاج للنقر مجدداً لتحديد الكلمة الثانية وهكذا دواليك، ولو لاحظت في الفيديو الذي شرحته أنا يتم تحديد كل الكلمات المشابهة لكلمة البحث دفعة واحدة، وبالتالي تستطيع بعد ذلك حذفها أو تلوينها دفعة واحدة.

تم تعديل بواسطه شحادة بشير
رابط هذا التعليق
شارك

حسبما فهمت من المقال التالي فإن هذا غير ممكن من خلال vba؛ لأن مايكروسوفت قامت بإلغاء داالة Find All:

https://stackoverflow.com/questions/54881150

رابط هذا التعليق
شارك

With ActiveDocument.Content.Find 
 .Text = "blue" 
 .Forward = True 
 .Execute 
 If .Found = True Then .Parent.Bold = True 
End With

Set myRange = ActiveDocument.Content 
myRange.Find.Execute FindText:="blue", Forward:=True 
If myRange.Find.Found = True Then myRange.Bold = True

رابط هذا التعليق
شارك

أخي العزيز تومي محمد، الكود لا يعمل، ثم إنني أوضحت أنني لا أريد التغميق بل أريد التحديد.

شكراً لك 🙂

تم تعديل بواسطه شحادة بشير
رابط هذا التعليق
شارك

ألف شكر لك أخي العزيز، وعذراً منك هذا الكود يقوم بالبجث والاستبدال وهو ليس المطلوب

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

 

رابط هذا التعليق
شارك

السلام عليكم ورحمة الله وبركاته

البعض استهجن طلبي، واعتبره غريباً، وخاصة وأنه يمكن عمله بسهولة بدون أكواد برمجية!!

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

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

التحديث أصبح متوفراً الآن في إضافة البيان البحثية لمن أراد تحميلها مجدداً والاستفادة من هذه الخاصية الجديدة

تفضلوا الفيديو:

https://top4top.io/downloadf-1636nnvhe1-zip.html

رابط هذا التعليق
شارك

والله يا استاذ دوختني

انت تريد البحث عن تواجد كلمة واحدة في جميع صفحات المستند المفتوح

وهذا موجود في الوورد في مربع البحث والاستبدال وهو الزر ....تمييز الكل .... ويميزها لك الوورد باللون الاصفر ثم تجري عليها التغييرات التي تريد....حسب  الفيديو

اماذا كنت تريدالبحث المتعدد اي البحث

عن كلمتين او اكثر في نفس الوقت ...فهذا لايوفره الوورد

والسلام عليكم

رابط هذا التعليق
شارك

أخي الحبيب تومي أنا وضعت فيديو من أجل أن تصل الفكرة التي أريدها، الفيديو كان واضحاً من البداية ولا أظن أن فيه شيئاً غامضاً، وكل من أرسلت لهم الفديو من خبراء الوورد فهموا الفكرة وأخبروني أنه لا يمكن تطبيقها.

الأكواد التي أرسلتها لي لا علاقة لها بما أريد، فالكود الأول كان للبحث العادي عن كلمة ما، والكود الثاني بالأساس لا يعمل.

أضف أن تمييز الكل لا يسمح لك بإجراء التغييرات على الكلمة التي يتم تمييزها، ما يسمح لك بإجراء التغييرات هو تحديد الكل.

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

شكراً لك ولتعبك أخي الفاضل، وعذراً أنني دوختك، ولكن أنت لست مضطراً للرد وأنا لم أخص الطلب بشخصك الكريم، بل أحببت الاستفادة من خبرات الجميع

أكرر شكري لك

رابط هذا التعليق
شارك

ان تمييز الكل هو تحديد الكل فبه تعرف عدد الكلمة المميزة واماكن تواجدها ... ياتي بعدها استبدالها في نقرة واحدة عن طريق الضغط على زر الامر استبدال الكل....اذن تمييزالكل هو استبدال الكل... وهذا ماهو موجود في الكود الاخير.

والسلام عليكم

رابط هذا التعليق
شارك

في ٢٥‏/٦‏/٢٠٢٠ at 09:57, شحادة بشير said:

أخي الحبيب تومي أنا وضعت فيديو من أجل أن تصل الفكرة التي أريدها، الفيديو كان واضحاً من البداية ولا أظن أن فيه شيئاً غامضاً، وكل من أرسلت لهم الفديو من خبراء الوورد فهموا الفكرة وأخبروني أنه لا يمكن تطبيقها.

الأكواد التي أرسلتها لي لا علاقة لها بما أريد، فالكود الأول كان للبحث العادي عن كلمة ما، والكود الثاني بالأساس لا يعمل.

أضف أن تمييز الكل لا يسمح لك بإجراء التغييرات على الكلمة التي يتم تمييزها، ما يسمح لك بإجراء التغييرات هو تحديد الكل.

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

شكراً لك ولتعبك أخي الفاضل، وعذراً أنني دوختك، ولكن أنت لست مضطراً للرد وأنا لم أخص الطلب بشخصك الكريم، بل أحببت الاستفادة من خبرات الجميع

أكرر شكري لك

بارك الله فيك أستاذ شحادة على جهودك الطيبة

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

بخانة البحث: كتابة \{*\} ووضع علامة (صح) أمام "باستخدام أحرف البدل"، بعد ذلك الذهاب لقائمة (البحث في) واختيار المستند الرئيسي، ستجد أنه تم تحديد جميع الكلمات بين القوسين.

ملاحظة: يمكن استبدال القوسين بأي رمزين آخرين []، ()، <> .... الخ.

مع الاحترام والتقدير

 

Capture.JPG

  • Thanks 1
رابط هذا التعليق
شارك

  • 3 weeks later...

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

Sub Macro1()
Dim oRng As Word.Range
Set oRng = Selection.Range
oRng.Find.ClearFormatting
With oRng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "الله"
        .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
         While .Execute
               oRng.Editors.Add wdEditorEveryone
         Wend
         ActiveDocument.SelectAllEditableRanges wdEditorEveryone
         ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
End With 
End Sub

يمكنك تحديد نطاق ما والتجريب.

رابط هذا التعليق
شارك

وهذا مثال للبحث مع استخدام أحرف البدل يحدد كل النصوص الموجودة ضمن معقوفين:

Dim oRng As Word.Range
Set oRng = Selection.Range
oRng.Find.ClearFormatting
With oRng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "(\[)(*)(\])"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindStop
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchKashida = False
        .MatchDiacritics = False
        .MatchAlefHamza = False
        .MatchControl = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
         While .Execute
               oRng.Editors.Add wdEditorEveryone
         Wend
         ActiveDocument.SelectAllEditableRanges wdEditorEveryone
         ActiveDocument.DeleteAllEditableRanges wdEditorEveryone
    End With
End Sub

2119010537_ms_wordExpert.png.c4f7fda29528830dbf1291c17d8b7675.png

تم تعديل بواسطه شحادة بشير
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information