【Wordマクロ】文中の文字、単語、文、段落を取得するサンプル

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

Wordマクロ(VBA)を使って、文書内から文字(Characters)、単語(Words)、文(Sentences)、段落(Paragraphs)の各要素とそれぞれのRangeオブジェクトを取得・走査するサンプルコードを紹介します。

それぞれのオブジェクト階層に沿ってRangeを取得し、開始位置・終了位置・テキスト内容をイミディエイトウィンドウに出力する基本的な手順を確認できます。

前提条件・使い方

WordのVBE(Visual Basic Editor)を開き、標準モジュールに以下のコードを貼り付けて実行してください。イミディエイトウィンドウ(Ctrl + G)に結果が出力されます。

サンプルコード

1. 文字(Characters)を取得する

Sub 文中の文字を取得1()
    Debug.Print "文字数=" & Me.Words.Count
    Dim r As Range
    Dim i As Integer
    For Each r In Me.Characters
        Debug.Print i & "字" & "," & r.Start & "," & r.End & "," & r.Text
        i = i + 1
    Next r
End Sub

2. 単語(Words)を取得する

Sub 文中の単語を取得1()
    Debug.Print "文字数=" & Me.Words.Count
    Dim r As Range
    Dim i As Integer
    For Each r In Me.Words
        Debug.Print i & "文字" & "," & r.Start & "," & r.End & "," & r.Text
        i = i + 1
    Next r
End Sub

3. 文(Sentences)を取得する

Sub 文中の文を取得1()
    Debug.Print "文字数=" & Me.Words.Count
    Dim r As Range
    Dim i As Integer
    For Each r In Me.Sentences
        Debug.Print i & "文" & "," & r.Start & "," & r.End & "," & r.Text
        i = i + 1
    Next r
End Sub

4. 段落(Paragraphs)を取得する

Sub 文中の段落を取得1()
    Debug.Print "文字数=" & Me.Words.Count
    Dim p As Paragraph
    Dim r As Range
    Dim i As Integer
    For Each p In Me.Paragraphs
        Set r = p.Range
        Debug.Print i & "段落" & "," & r.Start & "," & r.End & "," & r.Text
        i = i + 1
    Next p
End Sub

注意事項

Meキーワードを使用しているため、このコードは文書モジュール(ThisDocumentなど)内で実行することを前提としています。標準モジュールで実行する場合は、ActiveDocumentなどに書き換えてご利用ください。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月26日

  • 変更blockquoteで囲まれていたVBAコードを、WordPressで正しく表示できるコードブロック構造に変更しました。
  • 追加コードの実行手順や各オブジェクトの概要に関する説明を補足しました。

文書情報

記事タイトル
【Wordマクロ】文中の文字、単語、文、段落を取得するサンプル
作成日
更新日
Source URL
https://papanda925.com/?p=502

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました