단어 발생 수 생성 (Microsoft Word)
문서를 분석 할 때 문서의 단어 수를 만드는 방법이 있는지 궁금 할 수 있습니다. 불행히도 Word에는 이러한 기능이 포함되어 있지 않지만 수행 할 수있는 작업이 몇 가지 있습니다.
먼저, 특정 단어 나 구가 사용 된 횟수를 알고 싶다면 다음 단계를 따르십시오.
-
Ctrl + H를 눌러 찾기 및 바꾸기 대화 상자의 바꾸기 탭을 표시합니다. (그림 1 참조)
-
찾을 내용 상자에 계산할 단어 나 구를 입력합니다.
-
바꿀 내용 상자에 ^ &를 입력합니다. 이 문자 시퀀스는 찾은 내용을 찾을 내용 상자에 넣은 내용으로 바꿀 것을 Word에 알려줍니다. (즉, 단어 나 구를 자체로 바꾸는 것입니다.)
-
개별 단어를 검색하는 경우 전체 단어 만 찾기 확인란을 클릭해야합니다.
-
모두 바꾸기를 클릭합니다. 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
문서를 열고이 매크로를 실행하면 단어 또는 빈도로 정렬 된 목록을 만들 것인지 묻는 메시지가 나타납니다. 단어를 선택하면 결과 목록이 알파벳 순서로 표시됩니다. 빈도를 선택하면 단어가 문서에 나타난 횟수를 기준으로 결과 목록이 내림차순으로 표시됩니다.
매크로가 실행되는 동안 상태 표시 줄은 무슨 일이 일어나고 있는지 나타냅니다.
문서의 크기와 컴퓨터 속도에 따라 매크로를 완료하는 데 시간이 걸릴 수 있습니다. (349,000 개 이상의 단어가 포함 된 719 페이지의 문서로 실행했으며 완료하는 데 약 5 분이 걸렸습니다.)
Excludes 문자열에 값을 설정하는 줄이 매크로에 있습니다. 이 문자열에는 단어 목록을 모을 때 매크로가 무시할 단어가 포함됩니다. 제외 목록에 단어를 추가하려면 [대괄호] 사이의 문자열에 추가하면됩니다. 또한 제외 단어가 소문자인지 확인하십시오.
어떤 이유로 매크로를 사용하고 싶지 않다면 단어 수를 만드는 데 사용할 수있는 다른 프로그램이 있습니다. 예를 들어, NoteTab 텍스트 편집기 ( “light”버전은 https://www.notetab.com/에서 무료로 다운로드 할 수 있음)에는 단어 수를 제공하는 기능이 포함되어 있습니다.
전체 문서를 복사하여 NoteTab에 붙여 넣기 만하면됩니다. 그런 다음 NoteTab에서 도구 | 텍스트 통계 | 더. 백분율을 포함하여 단어 빈도에 대한 분석을 제공합니다.
_ 참고 : _
이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.
(Microsoft Word는 세계에서 가장 널리 사용되는 워드 프로세싱 소프트웨어입니다.)이 팁 (10761)은 Microsoft Word 2007, 2010, 2013 및 2016에 적용됩니다. 여기에서 Word의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / word-Generating_a_Count_of_Word_Occurrences [Generating a Count of Word Occurrences]
.