ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
24 visibility
موضوع: آفیس توسط:

امیر در سرتاسر اسناد خود از رنگ های برجسته متفاوت استفاده می کند. وقتی از Find and Replace برای یافتن متن هایلایت شده استفاده می کند، با تمام رنگ های هایلایت یکسان رفتار می کند. امیر به طور خاص می‌خواهد از Find and Replace استفاده کند تا فقط متن‌هایی را که با رنگ زرد برجسته شده‌اند، بیابد و از هر رنگ برجسته دیگری که در سند استفاده می‌شود چشم‌پوشی کند.

قبل از پرداختن به نحوه انجام این کار، مهم است که برای لحظه ای در مورد شرایط بحث کنیم. هنگام استفاده از اصطلاح "رنگ برجسته"، برخی از مردم فکر می کنند که به رنگ اعمال شده در متن خاصی اشاره دارد. این نیست. برجسته کردن رنگ فونت را تغییر نمی دهد. برجسته سازی با استفاده از ابزار Text Highlight Color انجام می شود که در گروه Font در زبانه Home نوار موجود است. (شکل 1 را ببینید.)

image

شکل 1. Word به شما امکان می دهد متن را با استفاده از رنگ های مختلف برجسته کنید.

هنگامی که از کادر گفتگوی Find and Replace استفاده می کنید، می توانید تعیین کنید که می خواهید متن برجسته شده را جستجو کنید. (نقطه درج را در کادر Find قرار دهید، روی Format کلیک کنید، سپس روی Highlight کلیک کنید.) وقتی روی Find Next کلیک می کنید، Word بدون توجه به رنگ مورد استفاده برای برجسته کردن متن، متن برجسته شده بعدی را انتخاب می کند. به عبارت دیگر، شما نمی توانید مشخص کنید که فقط می خواهید متنی را پیدا کنید که با رنگ زرد یا آبی یا سبز یا هر رنگ دیگری برجسته شده است. با همه آن یکسان رفتار می شود.

ما نتوانسته‌ایم راه قابل اعتمادی برای حل این موضوع پیدا کنیم. برخی از اطلاعاتی که دیده‌ایم نشان می‌دهد که Word فقط هر رنگ برجسته‌ای را که در ابزار Text Highlight Color مشخص شده است را پیدا می‌کند، اما این درست نیست. افراد دیگر اشاره کرده اند که اگر قبل از نمایش کادر محاوره ای Find and Replace، متن هایلایت شده (که با رنگی که می خواهید مشخص شده است) را انتخاب کنید، با کلیک روی Find Next فقط آن رنگ هایلایت پیدا می شود. این نیز درست نیست. در همه موارد، Find Next هر متن برجسته شده را بدون توجه به رنگ مورد استفاده برای هایلایت پیدا می کند.

تنها راه حل این مشکل استفاده از یک ماکرو برای انجام یافتن است. VBA به شما امکان می دهد رنگ مورد استفاده برای برجسته کردن متن را تشخیص دهید، به همین دلیل است که این روش کار خواهد کرد. ماکروی زیر از Find and Replace برای انجام یافتن استفاده می کند، اما سپس بررسی می کند که مشخصه HighlightColorIndex برای آنچه پیدا شده است چیست. اگر برابر با wdYellow (شماری برای رنگ زرد) باشد، متن انتخاب شده و ماکرو خارج می شود.

Sub FindNextYellow()
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = ""
        .MatchWildcards = False
        .Forward = True
        .Wrap = wdFindContinue
        .Highlight = True
        Do
            .Execute
        Loop Until Selection.Range.HighlightColorIndex = wdYellow _
          Or Not .Found
        Selection.Range.Select
    End With
End Sub

می توانید رنگ های مختلف را به سادگی با تغییر شمارش wdYellow به شمارش برای هر رنگی که می خواهید جستجو کنید.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 21 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 28 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 35 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 47 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

218 نفر آنلاین
1 عضو و 217 مهمان در سایت حاضرند
اعضای حاضر در سایت
بازدید امروز: 16115
بازدید دیروز: 17853
بازدید کل: 20328298
...