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

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

برای انجام این کار، واقعاً بهتر است به یک کلان روی آورید. چرا؟ زیرا یک ماکرو می تواند به سرعت مراحل خسته کننده را انجام دهد. به عنوان مثال، فرض کنید که می‌خواهید کلمات ویدیو ، عنصر ، نمودار ، و دکمه (چهار کلمه جداگانه) را با یک کلمه، اما به رنگ قرمز جایگزین کنید. می‌توانید از یک ماکرو مانند زیر استفاده کنید:

Sub ChangeWordColors()
    Dim vWords As Variant
    Dim sWord As Variant

    vWords = Array("video", "element", "chart", "button")

    For Each sWord In vWords
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Font.Color = wdColorRed
        With Selection.Find
            .Text = sWord
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    Next sWord
End Sub

ماکرو ابتدا چهار کلمه را به آرایه ای به نام vWords اختصاص می دهد. سپس هر یک از عناصر آرایه از بین رفته و عملیات Find and Replace انجام می شود. از آنجایی که این عملیات ویژگی .MatchWholeWord را روی True قرار می دهد، آنگاه فقط کل کلماتی که با این چهار مطابقت دارند مطابقت داده می شوند. (به عبارت دیگر، جستجوی عنصر منجر به تطبیق عناصر نمی شود .

اشکال چنین ماکرویی این است که اگر می خواهید از مجموعه کلمات متفاوتی استفاده کنید، باید ماکرو را طوری ویرایش کنید که آن کلمات (یا عبارات) دیگر را به آرایه اختصاص دهد. در عوض، ممکن است بخواهید کلمات را در یک فایل متنی ذخیره کنید. این کار را می توان با تغییر ماکرو به شرح زیر انجام داد:

Sub ChangeWordColorsFile()
    Dim sFile As String
    Dim sTemp As String

    sFile = "C:UsersabcdDesktopMyWords.txt"

    Open sFile For Input As 1

    While Not EOF(1)
        Line Input #1, sTemp
        sTemp = Trim(sTemp)

        If sTemp > "" Then
            Selection.Find.ClearFormatting
            Selection.Find.Replacement.ClearFormatting
            Selection.Find.Replacement.Font.Color = wdColorRed
            With Selection.Find
                .Text = sTemp
                .Replacement.Text = ""
                .Forward = True
                .Wrap = wdFindContinue
                .Format = True
                .MatchCase = False
                .MatchWholeWord = True
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
            Selection.Find.Execute Replace:=wdReplaceAll
        End If
    Wend
    Close #1
End Sub

این نسخه از ماکرو به فایلی به نام MyWords.txt متکی است. در نزدیکی ابتدای ماکرو می توانید ببینید که این نام فایل (در واقع یک مسیر کامل برای این نام فایل) به متغیر sFile اختصاص داده شده است. این فایل است که باز می شود و هر بار یک خط خوانده می شود تا مشخص شود چه کلماتی باید جستجو شوند و به رنگ قرمز تغییر پیدا کنند. اگر می‌خواهید نحوه عملکرد ماکرو را تغییر دهید، فقط آنچه را که در فایل MyWords.txt وجود دارد را تغییر دهید. فقط مطمئن شوید که فقط یک کلمه یا عبارت را در هر خط از فایل قرار دهید.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 29 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 24 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 32 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 39 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 61 visibility
ارسال شده در 27 تیر 1402 موضوع: آفیس توسط: Admin

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

343 نفر آنلاین
0 عضو و 343 مهمان در سایت حاضرند
بازدید امروز: 10455
بازدید دیروز: 25180
بازدید کل: 20347806
...