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

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

ابتدا، اگر می خواهید بدانید که چند بار از یک کلمه یا عبارت خاص استفاده شده است، می توانید مراحل زیر را دنبال کنید:

image

شکل 1. تب Replace از کادر محاوره ای Find and Replace.

  1. Ctrl+H را فشار دهید تا تب Replace در کادر محاوره ای Find and Replace نمایش داده شود. (شکل 1 را ببینید.)
  2. در کادر Find What کلمه یا عبارتی را که می خواهید شمارش شود وارد کنید.
  3. در کادر Replace With ^& را وارد کنید . این دنباله کاراکتر به Word می گوید که می خواهید آنچه را که پیدا می کنید با هر چیزی که در کادر Find What قرار داده اید جایگزین کنید. (به عبارت دیگر، شما در حال جایگزینی کلمه یا عبارت با خودش هستید.)
  4. اگر در جستجوی کلمات تکی هستید، مطمئن شوید که روی کادر تیک Find Whole Words Only کلیک کرده اید.
  5. روی Replace All کلیک کنید. Word جایگزین ها را ایجاد می کند و به شما نشان می دهد که چند نمونه جایگزین شده است. این همان عددی است که شما می خواهید.

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

Sub FindWords()
    Dim sResponse As String
    Dim iCount As Integer

    " Input different words until the user clicks cancel
    Do
        " Identify the word to count
        sResponse = InputBox( _
          Prompt:="What word do you want to count?", _
          Title:="Count Words", Default:="")
    
        If sResponse > "" Then
            " Set the counter to zero for each loop
            iCount = 0
            Application.ScreenUpdating = False
            With Selection
                .HomeKey Unit:=wdStory
                With .Find
                    .ClearFormatting
                    .Text = sResponse
                    " Loop until Word can no longer
                    " find the search string and
                    " count each instance
                    Do While .Execute
                        iCount = iCount + 1
                        Selection.MoveRight
                    Loop
                End With
                " show the number of occurences
                MsgBox sResponse & " appears " & iCount & " times"
            End With
            Application.ScreenUpdating = True
        End If
    Loop While sResponse <> ""
End Sub

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

Sub WordFrequency()
    Const maxwords = 9000          "Maximum unique words allowed
    Dim SingleWord As String       "Raw word pulled from doc
    Dim Words(maxwords) As String  "Array to hold unique words
    Dim Freq(maxwords) As Integer  "Frequency counter for unique words
    Dim WordNum As Integer         "Number of unique words
    Dim ByFreq As Boolean          "Flag for sorting order
    Dim ttlwds As Long             "Total words in the document
    Dim Excludes As String         "Words to be excluded
    Dim Found As Boolean           "Temporary flag
    Dim j, k, l, Temp As Integer   "Temporary variables
    Dim ans As String              "How user wants to sort results
    Dim tword As String            "
    Dim aword As Object            "
    Dim tmpName As String          "

    " Set up excluded words
    Excludes = "[the][a][of][is][to][for][by][be][and][are]"

    " Find out how to sort
    ByFreq = True
    ans = InputBox("Sort by WORD or by FREQ?", "Sort order", "WORD")
    If ans = "" Then End
    If UCase(ans) = "WORD" Then
        ByFreq = False
    End If
    
    Selection.HomeKey Unit:=wdStory
    System.Cursor = wdCursorWait
    WordNum = 0
    ttlwds = ActiveDocument.Words.Count

    " Control the repeat
    For Each aword In ActiveDocument.Words
        SingleWord = Trim(LCase(aword))
        "Out of range?
        If SingleWord < "a" Or SingleWord > "z" Then
            SingleWord = ""
        End If
        "On exclude list?
        If InStr(Excludes, "[" & SingleWord & "]") Then
            SingleWord = ""
        End If
        If Len(SingleWord) > 0 Then
            Found = False
            For j = 1 To WordNum
                If Words(j) = SingleWord Then
                    Freq(j) = Freq(j) + 1
                    Found = True
                    Exit For
                End If
            Next j
            If Not Found Then
                WordNum = WordNum + 1
                Words(WordNum) = SingleWord
                Freq(WordNum) = 1
            End If
            If WordNum > maxwords - 1 Then
                j = MsgBox("Too many words.", vbOKOnly)
                Exit For
            End If
        End If
        ttlwds = ttlwds - 1
        StatusBar = "Remaining: " & ttlwds & ", Unique: " & WordNum
    Next aword

    " Now sort it into word order
    For j = 1 To WordNum - 1
        k = j
        For l = j + 1 To WordNum
            If (Not ByFreq And Words(l) < Words(k)) _
              Or (ByFreq And Freq(l) > Freq(k)) Then k = l
        Next l
        If k <> j Then
            tword = Words(j)
            Words(j) = Words(k)
            Words(k) = tword
            Temp = Freq(j)
            Freq(j) = Freq(k)
            Freq(k) = Temp
        End If
        StatusBar = "Sorting: " & WordNum - j
    Next j

    " Now write out the results
    tmpName = ActiveDocument.AttachedTemplate.FullName
    Documents.Add Template:=tmpName, NewTemplate:=False
    Selection.ParagraphFormat.TabStops.ClearAll
    With Selection
        For j = 1 To WordNum
            .TypeText Text:=Trim(Str(Freq(j))) _
              & vbTab & Words(j) & vbCrLf
        Next j
    End With
    System.Cursor = wdCursorNormal
    j = MsgBox("There were " & Trim(Str(WordNum)) & _
      " different words ", vbOKOnly, "Finished")
End Sub

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

هنگامی که ماکرو در حال اجرا است، نوار وضعیت نشان می دهد که چه اتفاقی می افتد. بسته به اندازه سند و سرعت رایانه شما، تکمیل ماکرو ممکن است کمی طول بکشد. (من آن را با یک سند 719 صفحه ای با بیش از 349000 کلمه اجرا کردم و تکمیل آن حدود پنج دقیقه طول کشید.)

توجه داشته باشید که یک خط در ماکرو وجود دارد که مقداری را در رشته Excludes تعیین می کند. این رشته حاوی کلماتی است که ماکرو هنگام کنار هم قرار دادن لیست کلمات نادیده می گیرد. اگر می‌خواهید کلماتی را به لیست حذف اضافه کنید، به سادگی آنها را به رشته، بین [پرانتز مربع] اضافه کنید. همچنین مطمئن شوید که کلمات حذف با حروف کوچک باشند.

اگر به دلایلی دوست ندارید از ماکروها استفاده کنید، برنامه های دیگری وجود دارد که می توانید برای ایجاد تعداد کلمات استفاده کنید. به عنوان مثال، ویرایشگر متن NoteTab (نسخه "سبک" را می توان رایگان در https://www.notetab دانلود کرد. .com/) شامل یک ویژگی است که تعداد کلمات را فراهم می کند. تنها کاری که باید انجام دهید این است که کل سند خود را کپی کرده و آن را در NoteTab جایگذاری کنید. سپس در NoteTab، ابزارها | آمار متن | بیشتر را انتخاب کنید. تجزیه و تحلیل فراوانی کلمه را ارائه می دهد. ، از جمله درصد.

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

پاسخ شما

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

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

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

سوالات مشابه

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما
0 دوستدار 0 امتیاز منفی
0 پاسخ 22 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 99 visibility
ارسال شده در 13 بهمن 1401 موضوع: موبایل توسط: بی نام
0 دوستدار 0 امتیاز منفی
0 پاسخ 39 visibility
0 دوستدار 0 امتیاز منفی
0 پاسخ 23 visibility

24.3k سوال

9.6k پاسخ

614 دیدگاه

11.2k کاربر

367 نفر آنلاین
0 عضو و 367 مهمان در سایت حاضرند
بازدید امروز: 26704
بازدید دیروز: 25180
بازدید کل: 20364043
...