Word VBA活用法:置換・見出し・確認箇所の整理を自動化する

Document・Range・Paragraphの関係を押さえ、定型文の置換や確認語の強調を安全に自動化します。

広告 / CONTENTS SUPPORT広告サービス設定後にここへ表示されます

Wordでは、同じ定型文を置き換える、確認が必要な箇所を探す、見出しの書式を整えるといった作業が繰り返し発生します。Word VBAでは、文書全体を表すDocument、文書内の範囲を表すRange、段落を表すParagraphなどを操作して、これらの作業を再現できます。まずはコピーした文書で試し、変更範囲を確認してから本番の文書へ広げます。

VISUAL GUIDE

Word VBAの処理の流れ

01文書を複製
02Rangeで対象を選ぶ
03置換・書式を実行
04目視確認して保存

Wordでは、文書全体を一度に変更するより、Rangeで対象範囲を絞る方が安全です。自動処理の後は、文章の意味やレイアウトを目視で確認します。

Word VBAで自動化しやすい作業

定型の案内文や会社名の置換、確認用の語句の検索、見出しの書式統一、文書の冒頭や末尾への注意書き追加などは、Word VBAの題材に向いています。文書の構造がある程度そろっているほど、同じ処理を繰り返しやすくなります。

文章の意味を判断する作業や、表の行間を最適に調整する作業まで自動化すると、意図しない変更が起きる可能性があります。VBAで候補を整理し、人が最終確認する流れを前提にします。

  • 定型語・会社名・日付の置換
  • 確認語の検索と強調
  • 見出しの書式統一
  • 冒頭や末尾への定型案内の追加

Document・Range・Paragraphを理解する

Word VBAでは、対象をどこまで絞るかが重要です。ActiveDocumentは現在の文書全体、Rangeは文書内の開始位置と終了位置で表す範囲、Paragraphは段落単位の要素です。選択中の文字を操作するSelectionより、コードで範囲を指定できるRangeの方が再現性を保ちやすい場合があります。

文書全体を対象にする処理でも、まずRangeを変数に入れてからFindや書式設定を行うと、コードの意図が読みやすくなります。対象範囲を明示する癖をつけると、別の文書を開いたときの誤操作も減らせます。

オブジェクト役割コードの例
Document開いている文書全体ActiveDocument
Range文書内の指定範囲ActiveDocument.Content
Paragraph段落単位の情報ActiveDocument.Paragraphs(1)
Find範囲内の検索と置換rng.Find

マクロを保存・実行する前の準備

Wordでマクロを保存する文書は、マクロ有効文書(docm)として保存します。開発タブからVisual Basicを開き、標準モジュールへコードを置きます。初回は本番文書ではなく、コピーした練習用文書で実行し、変更前と変更後を比べられるようにします。

マクロの設定を変更するときは、信頼できるファイルだけを対象にします。出所が分からない文書のマクロを有効にしない、作業後に設定を戻す、という基本を守ります。

  • 練習用のdocmファイルを作る
  • 元の文書を複製してから実行する
  • 対象範囲と置換語を確認する
  • 不明なファイルのマクロは有効にしない

定型語を一括置換する

次のマクロは、文書全体から「[会社名]」を探し、サンプルの会社名へ置き換えます。テンプレート内のプレースホルダーを納品先の情報へ差し替えるときなどに使えます。置換前に、対象語が本文だけでなくヘッダーや表にもあるかを確認してください。

プレースホルダーを置換Word VBA
Option Explicit

Sub ReplacePlaceholder()
    Dim rng As Range

    Set rng = ActiveDocument.Content
    With rng.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "[会社名]"
        .Replacement.Text = "サンプル株式会社"
        .Forward = True
        .Wrap = wdFindContinue
        .Execute Replace:=wdReplaceAll
    End With
End Sub

ポイント:会社名や日付を置換する場合は、置換後の文字数でレイアウトが変わることがあります。実行後にタイトル、表、ヘッダー、フッターを目視で確認します。

確認が必要な語句を強調する

レビュー前の文書では、「要確認」「仮」「未入力」などの語句を見つけたいことがあります。Findで語句を検索し、見つかったRangeに黄色のハイライトを設定すると、確認箇所を一覧化しやすくなります。

検索後にRangeを末尾へ移動してから次の検索を行うのがポイントです。検索語が見つからない場合にも処理が終わるよう、WrapをwdFindStopに設定します。

確認語をハイライトするWord VBA
Option Explicit

Sub HighlightReviewWords()
    Dim rng As Range

    Set rng = ActiveDocument.Content
    With rng.Find
        .ClearFormatting
        .Text = "要確認"
        .Forward = True
        .Wrap = wdFindStop
        Do While .Execute
            rng.HighlightColorIndex = wdYellow
            rng.Collapse Direction:=wdCollapseEnd
        Loop
    End With
End Sub

文書の先頭に定型案内を追加する

文書の冒頭に「社内確認用」「ドラフト」などの案内を入れたいときは、開始位置が0のRangeを作り、そこへ文字を挿入します。文書の内容を上書きする前に、先頭に既に同じ案内がないかを確認する処理を追加すると、再実行時の重複を防げます。

文書の先頭に案内を追加Word VBA
Option Explicit

Sub AddReviewNotice()
    Dim rng As Range

    Set rng = ActiveDocument.Range(Start:=0, End:=0)
    rng.InsertBefore "社内確認用:公開前に内容を確認してください。" & vbCrLf
End Sub

ポイント:文書の開始位置へ挿入するため、実行するたびに案内が増えます。再実行する可能性がある場合は、先に同じ文字列をFindで探し、見つからないときだけ追加する構成にします。

段落の書式をそろえる

見出し候補の段落を決められる文書なら、ParagraphのRangeへスタイルを設定できます。スタイル名はWordの言語やテンプレートによって異なるため、最初は1段落だけで試し、表示された書式を確認します。

最初の段落を見出し1に設定Word VBA
Option Explicit

Sub FormatFirstParagraph()
    Dim p As Paragraph

    Set p = ActiveDocument.Paragraphs(1)
    p.Range.Style = ActiveDocument.Styles("見出し 1")
End Sub
  • スタイル名が環境に存在するか確認する
  • 1段落だけで結果を確認する
  • 文字量による改ページを確認する
  • 元のテンプレートを上書きしない

実行後に確認する4つの場所

Word VBAの実行後は、コードがエラーなく終わったかだけでなく、文書として読めるかを確認します。置換や挿入によってページ数が変わった場合は、表の分割や見出しの孤立、ヘッダー・フッターのずれも見ます。

変更範囲が広いマクロは、実行前に文書のコピーを作り、変更内容を記録します。意図しない結果になったときに、元の文書へ戻せる状態を残すことが最優先です。

確認場所見るポイント
本文置換漏れ、誤置換、文章の意味
見出しスタイル、改ページ、目次への影響
表・画像ページをまたぐ位置、文字の重なり
ヘッダー・フッター日付、会社名、ページ番号のずれ

小さな処理を組み合わせて文書作成を整える

最初は置換、次に確認語の強調、その後に書式設定というように、一つのマクロへ機能を詰め込みすぎないことが大切です。役割ごとにSubを分け、実行順序を手順書に残すと、別の文書でも使いやすくなります。

Word VBAは、文章の判断を代わりに行うものではありません。定型処理を短くし、確認すべき箇所を見つけやすくするための道具です。自動化できた時間を、文章の内容と読みやすさの確認へ使います。

  • 置換・検索・書式設定を分ける
  • 実行順序と対象文書を記録する
  • 本番文書はコピーしてから処理する
  • 最後は人が内容とレイアウトを読む

CHECK THE SOURCE

参考にした公式情報

IN SHORT

Word VBAは、Document全体を扱いながら、Rangeで対象を絞り、ParagraphやFindで定型作業を実行する道具です。置換・確認語の強調・書式設定を小さく試し、実行後の目視確認までを一つの手順にしましょう。

広告 / CONTENTS SUPPORT広告サービス設定後にここへ表示されます