Word VBAで複数の語句を一括置換する方法:初心者でもできる簡単マクロ

パソコンパソコン・スマホ教室
スポンサーリンク

Wordで文書を作成していると、「この言葉を統一したい」「何度も同じ語句を変えたい」といった場面がよくあります。そんなときに便利なのが、Word VBA(マクロ)を使った一括置換です。今回は、初心者の方でもわかりやすく、実際に使えるマクロを紹介します。

スポンサーリンク

なぜマクロを使うのか?

Wordのイメージ

Wordのイメージ

普段、Wordの「検索と置換」機能を使って語句を変えることができますが、複数の語句を一度に置換するのは手間がかかります。そこで、マクロを使うことで、何度も同じ作業を繰り返す手間を省き、効率的に作業を進めることができます。

マクロを使った一括置換の基本の流れ

まずは、基本的な流れを見ていきましょう。

  1. Wordを開き、「開発」タブを表示します。もし「開発」タブが表示されていない場合は、設定から表示させてください。
  2. 「Visual Basic」をクリックし、VBAの編集画面を開きます。
  3. 新しいモジュールを挿入し、以下のコードを貼り付けます。

Sub 一括置換()
Dim 置換リスト As Variant
Dim i As Integer

' 置換前と置換後の語句をリストに追加
置換リスト = Array( _
Array("子供", "子ども"), _
Array("様々", "さまざま") _
)

' 置換処理
For i = LBound(置換リスト) To UBound(置換リスト)
With ActiveDocument.Content.Find
.Text = 置換リスト(i)(0)
.Replacement.Text = 置換リスト(i)(1)
.Execute Replace:=wdReplaceAll
End With
Next i
End Sub

  1. 「F5」キーを押してマクロを実行します。

これで、指定した語句が一括で置換されます。

もっと便利に!Excelで置換リストを管理する方法

置換する語句が増えてくると、コードの編集が大変になります。そんなときは、Excelで置換リストを管理し、マクロで読み込む方法がおすすめです。

  1. Excelで置換前と置換後の語句をリストにする(例A列に置換前、B列に置換後)。
  2. WordのマクロでExcelファイルを開き、リストを読み込むコードを追加します。

Sub Excelから置換リストを読み込む()
Dim ExcelApp As Object
Dim wb As Object
Dim ws As Object
Dim i As Integer
Dim 置換リスト As Variant

' Excelを起動
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Visible = False ' Excelを非表示で開く

' Excelファイルを開く
Set wb = ExcelApp.Workbooks.Open("置換リストのパス.xlsx")
Set ws = wb.Sheets(1)

' リストのデータを配列に格納
置換リスト = ws.UsedRange.Value

' 置換処理
For i = 2 To UBound(置換リスト, 1) ' 1行目はヘッダーなので2行目から
With ActiveDocument.Content.Find
.Text = 置換リスト(i, 1)
.Replacement.Text = 置換リスト(i, 2)
.Execute Replace:=wdReplaceAll
End With
Next i

' Excelを閉じる
wb.Close
Set wb = Nothing
Set ExcelApp = Nothing
End Sub

これで、Excelで管理している語句リストを使って、Word文書内の語句を一括で置換することができます。

注意点とアドバイス

  • バックアップを取るマクロを実行する前に、必ず文書のバックアップを取っておきましょう。
  • 置換対象を確認置換する語句が他の意味で使われていないか、文脈を確認してから実行しましょう。
  • 段落記号(Chr(13))の取り扱いマクロ内で段落記号を扱う際は、Chr(13)を適切に使用してください。

よくある質問や疑問

Q1: マクロを実行するときにエラーが出ます。どうすればいいですか?

エラーの内容によって対処方法が異なります。エラーメッセージを確認し、必要に応じてコードを修正してください。

Q2: Excelで管理する語句リストの形式はどうすればいいですか?

ExcelのA列に置換前の語句、B列に置換後の語句を入力し、1行目にはヘッダーを入れてください。

Q3: 他のWord文書にも同じマクロを適用できますか?

はい、同じマクロを他のWord文書にも適用できます。ただし、文書の内容によっては、置換結果が異なる場合がありますので、事前に確認してください。

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

Word VBAを使った複数語句の一括置換は、手作業では時間がかかる作業を効率化する強力なツールです。初心者の方でも、基本的なマクロを使うことで、簡単に実行することができます。さらに、Excelで置換リストを管理することで、より柔軟に対応することができます。

他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。

コメント

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