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

گرگ اشاره می کند که افعال مدفون آنهایی هستند که بیهوده به عبارات اسمی لفظی تبدیل می شوند. چنین اسم هایی اغلب به -tion، -sion، -ment، -ence، Ðance، -ure و -ity ختم می شوند. او فکر می کند که آیا راهی برای جستجو در یک سند و برجسته کردن کلمه ای که از این پایان ها استفاده می کند وجود دارد؟

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

بنابراین، چگونه آنها را در نثر در یک سند Word علامت گذاری کنیم؟ جستجوگر دستور زبان داخلی در Word حتی افعال مدفون را عطسه نمی کند، بنابراین باید خودتان آنها را جستجو کنید. بدیهی است که Word به شما اجازه می دهد تا یک Find and Replace انجام دهید که در آن می توانید پسوندها را جستجو کنید. مشکل اضافه کردن برجسته کردن با استفاده از آن است. Find and Replace فقط آن را به خود پسوند اضافه می کند، نه به کلمه حاوی پسوند.

راه حل این است که یک ماکرو ایجاد کنید که تمام کلمات یک سند را به صورت جداگانه بررسی کند و ببیند آیا آن کلمات از پسوند استفاده می کنند یا خیر. سپس می تواند کلماتی را که مطابقت دارند برجسته کند. خوشبختانه، Word مجموعه Words را در اختیار VBA قرار می دهد که همه کلمات یک سند را نشان می دهد. ماکرو مثال زیر از این مجموعه Words استفاده می کند:

Sub Highlight_Buried_Vergs()
    Dim docMain As Document
    Dim rWord As Range
    Dim sSuffix(7) As String
    Dim iSuffixes As Integer
    Dim vHilite As Variant
    Dim sChar As String
    Dim sTemp As String
    Dim J As Integer

    vHilite = wdYellow   " Desired highlight color

    " Set up suffixes
    sSuffix(1) = "tion"
    sSuffix(2) = "sion"
    sSuffix(3) = "ment"
    sSuffix(4) = "ence"
    sSuffix(5) = "ance"
    sSuffix(6) = "ure"
    sSuffix(7) = "ity"
    iSuffixes = 7

    Set docMain = ActiveDocument

    J = MsgBox("Clear existing highlighting?", vbYesNo)
    If J = vbYes Then
        docMain.Content.HighlightColorIndex = wdNoHighlight
    End If

    For Each rWord In docMain.Words
        " Clean up the word, removing any spaces and
        " Getting rid of any trailing non-letters
        sTemp = Trim(rWord)
        sTemp = LCase(sTemp)

        J = Len(sTemp)
        While J > 0
            sChar = Mid(sTemp, J, 1)
            If sChar < "a" Or sChar > "z" Then
                sTemp = Left(sTemp, Len(sTemp) - 1)
                J = Len(sTemp)
            Else
                J = 0
            End If
        Wend

        " Now ready to check for suffixes
        " Only need to check if sTemp contains a word
        If Len(sTemp) > 0 Then
            For J = 1 To iSuffixes
                If Right(sTemp, Len(sSuffix(J))) = sSuffix(J) Then
                    docMain.Range(rWord.Start, rWord.Start + _
                      Len(sTemp)).HighlightColorIndex = vHilite
                End If
            Next J
        End If
    Next rWord

    Set docMain = Nothing
End Sub

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

می‌توانید پسوندهایی را که می‌خواهید بررسی کنید، با تنظیم آنچه در آرایه sSuffix ذخیره می‌کنید، تغییر دهید. به عنوان مثال، ممکن است بخواهید نه تنها کلماتی را که به "ance" ختم می شوند، بلکه کلماتی را که به -ances (برای جمع) یا -anced (برای زمان گذشته) ختم می شوند، علامت بزنید. اگر این کار را انجام دادید، به سادگی پسوندهای اضافی را به آرایه اضافه کنید و مقدار ذخیره شده در iSuffixes را تنظیم کنید، و تنظیم خواهید شد. این نکته.)

اگر می‌خواهید رویکرد کامل‌تری داشته باشید، ممکن است لازم باشد از یک چک‌کننده گرامر استفاده کنید که قابلیت علامت‌گذاری نام‌گذاری‌ها را دارد. یکی از نامزدهای پیشنهاد شده توسط برخی از خوانندگان WordTips StyleWriter است که در اینجا قابل مشاهده است:

https://www.editorsoftware.com/stylewriter.html

این نرم افزار رایگان نیست (همانطور که انتظار می رود)، اما می توانید آن را به صورت رایگان امتحان کنید. توانایی شناسایی و علامت گذاری افعال مدفون ممکن است در سایر نرم افزارهای بررسی گرامری نیز وجود داشته باشد، اما قطعاً در همه آنها وجود ندارد. نکته اصلی این است که شما می خواهید تحقیقی انجام دهید تا پیدا کنید کدام راه حل شخص ثالث برای شما بهترین کار را دارد.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 220 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 81 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 86 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 103 visibility

31.4k سوال

16.7k پاسخ

620 دیدگاه

13.8k کاربر

28 نفر آنلاین
0 عضو و 28 مهمان در سایت حاضرند
بازدید امروز: 83890
بازدید دیروز: 33245
بازدید کل: 33847481
...