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

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

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

این سردرگمی بالقوه را با این واقعیت ترکیب کنید که علامت نقل قول پایانی ممکن است حتی در پاراگراف فعلی نباشد - این ممکن است در پایان پاراگراف بعدی باشد، زمانی که گفتگوی علامت گذاری شده واقعاً به پایان می رسد.

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

Sub MarkUnevenQuotes()
    Dim sRaw As String
    Dim iNorm As Integer
    Dim iSmart As Integer
    Dim J As Long

    Selection.HomeKey Unit:=wdStory
    Application.ScreenUpdating = False
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = """"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindStop
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute

    While Selection.Find.Found
        Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
        Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        sRaw = Selection.Text
        iNorm = 0
        iSmart = 0
        For J = 1 To Len(sRaw)
            If Mid(sRaw, J, 1) = Chr(34) Then
                If iNorm > 0 Then
                    iNorm = iNorm - 1
                Else
                    iNorm = iNorm + 1
                End If
            End If
            If Mid(sRaw, J, 1) = Chr(147) Then
                iSmart = iSmart + 1
            End If
            If Mid(sRaw, J, 1) = Chr(148) Then
                iSmart = iSmart - 1
            End If
        Next J
        If iNorm > 0 Or iSmart > 0 Then
            Selection.Range.HighlightColorIndex = wdYellow
        End If
        Selection.Collapse Direction:=wdCollapseEnd
        Selection.Find.Execute
    Wend
    Selection.HomeKey Unit:=wdStory
    Application.ScreenUpdating = True
End Sub

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

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 33 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 20 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 32 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 29 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 29 visibility

23.7k سوال

9.0k پاسخ

614 دیدگاه

11.2k کاربر

118 نفر آنلاین
0 عضو و 118 مهمان در سایت حاضرند
بازدید امروز: 1744
بازدید دیروز: 17853
بازدید کل: 20313931
...