【ワードマクロ】単語の出現回数をカウント:コピペで使えるマクロコード

ワードマクロ:単語の出現回数をカウントアイキャッチ ワードマクロで効率化する

ワードマクロで、単語の出現回数をカウントするVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

単語の出現回数をカウント

以下のWordVBAを実行すると、
ワードファイル内の特定文字について登場回数をカウントし、メッセージボックスに結果を表示します。

Sub 単語の出現回数を数える()

    Dim myRange As Range
    Dim wP As Long
    Dim wE As Long
    Dim LastwE As Long
    Dim LastwP As Long
    Dim WordCnt As Long
    Dim GetWord As String

    '文書の最後のページを取得
    LastwP = ActiveDocument.Range.Information(wdNumberOfPagesInDocument)

    ActiveDocument.Range(0, 0).Select
    Set myRange = ActiveDocument.Range(0, 0)
    
    GetWord = "ビデオ"
    
    '検索条件
    With myRange.Find
        .Text = GetWord
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = True
        .MatchWholeWord = True
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = False
        .MatchWildcards = False
     
        Do While .Execute
                           
            With myRange
                wE = .End
                wP = .Information(wdActiveEndPageNumber)
            End With
           
            '1つ前の文字位置と、今回の文字位置を比較
            If wE < LastwE Or wE = LastwE Then
                Exit Do
            End If
            
            WordCnt = WordCnt + 1
            LastwE = wE
            
        Loop
        
    End With
    
    MsgBox "「" & GetWord & "」 の出現回数:" & WordCnt & "個"

End Sub

 

マクロ実行前

ワードファイル内に「ビデオ」という文字が、何回登場しているかをカウントします。

「ビデオ」という文字は、文章内と表内にある状態です。

検索したいキーワードは、[GetWord = “ビデオ”] に設定します。

 

マクロ実行後

メッセージボックスが表示されて、単語の出現回数を表示します。

 

単語の出現回数をカウント(複数の単語)

以下のWordVBAを実行すると、
複数の単語の登場回数をカウントし、メッセージボックスに表示します。

Sub 複数の単語の出現回数をカウント()

Dim myRange As Range
Dim wE As Long
Dim i As Long
Dim LastwE As Long
Dim LastwP As Long
Dim WordCnt As Long
Dim Target() As Variant
Dim msg As String

    '文書の最後のページを取得
    LastwP = ActiveDocument.Range.Information(wdNumberOfPagesInDocument)

    '文書の先頭を選択
    ActiveDocument.Range(0, 0).Select
    
    '単語を配列に格納
    Target = Array("Word", "クリック", "ビデオ", "Excel")
    
    '配列分ループ
    For i = 0 To UBound(Target)
    
        WordCnt = 0
        LastwE = 0
        wE = 0
        Set myRange = ActiveDocument.Range(0, 0)
    
        '検索条件
        With myRange.Find
            .Text = Target(i)
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = True
            .MatchWholeWord = True
            .MatchByte = False
            .MatchAllWordForms = False
            .MatchSoundsLike = False
            .MatchWildcards = False
            .MatchFuzzy = False
            .MatchWildcards = False
         
            Do While .Execute
                               
                wE = myRange.End
               
                '1つ前の文字位置と、今回の文字位置を比較
                If wE < LastwE Or wE = LastwE Then
                    Exit Do
                End If
                
                WordCnt = WordCnt + 1
                LastwE = wE
                
            Loop
            
        End With
        
        msg = msg & vbCrLf & "「" & Target(i) & "」 の出現回数:" & WordCnt & "個"
    
    Next i
    
    MsgBox msg

End Sub

 

マクロ実行後

メッセージボックスが表示されて、単語の出現回数を表示します。

[Target] の中に登場回数を調べたい単語を入力します。

 

【ワードマクロ】文字色を一括で変更:4つの使用例を紹介するよ
「文字色を変更する」WordVBAコードの組み方を記載しています。複数パターンを図解付きで説明しています。[Color]プロパティで対象文字を赤・青・緑など好きな色に一括で変更できます。[Select Case ]を使用し、指定した文字列によって色分けすることもできます。スキルシートをチェックするツールとして組み込んでいたマクロです。