メインコンテンツへスキップ

Excelを使用してWordで複数のテキストを検索および置換するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

Microsoft Wordでは、検索と置換機能は特定のテキストを迅速に検索して置換する効率的な方法です。ただし、複数の異なる用語を置き換える必要がある場合、それぞれを手動で入力するのは時間がかかることがあります。

このプロセスを合理化するために、Excelを使用して検索および置換するテキストのリストを作成し、簡単なVBAコードでタスクを自動化できます。このチュートリアルでは、ExcelとVBAを使用して、1つのWord文書内の複数のテキストを検索および置換する方法を説明します。さらに、これを複数の文書に拡張する方法を示し、バッチテキスト置換のための強力なKutools機能を紹介します。

VBAコードを使用してExcelから1つのWord文書で複数のテキストを検索および置換する

VBAコードを使用してExcelから複数のWord文書で複数のテキストを検索および置換する

強力な機能を使用して複数のWord文書で複数のテキストを検索および置換する


VBAコードを使用してExcelから1つのWord文書で複数のテキストを検索および置換する

1つのWordファイルでのみいくつかのテキストを検索して置換したい場合、次のVBAコードが役立ちます。

1. Excelワークシートで、検索して置換したいテキストを含む列と、以下のような置換後のテキストを含む別の列を作成します。そして、Alt+ F11キーを同時に押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

A screenshot showing an Excel worksheet with columns containing texts to find and replace

2. 次に、挿入 > モジュールをクリックし、以下のVBAコードをウィンドウにコピーして貼り付けます。

VBAコード:1つのWordファイルで複数のテキストを検索および置換する

Sub replace_texts_range_of_cells()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFileDlg As FileDialog
On Error GoTo ExitSub
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
xFileDlg.AllowMultiSelect = False
xFileDlg.Filters.Add "Word Document", "*.docx; *.doc; *.docm"
xFileDlg.FilterIndex = 2
If xFileDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges):", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
Set xDoc = xWordApp.Documents.Open(xFileDlg.SelectedItems.Item(1))
For I = 1 To xRng.Areas.Item(1).Cells.Count
  With xDoc.Application.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = xRng.Areas.Item(1).Cells.Item(I).Value
    .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchByte = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
  End With
  xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
Next
ExitSub:
  Set xRng = Nothing
  Set xFileDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. コードを貼り付けた後も、Microsoft Visual Basic for Applicationsウィンドウで、ツール > 参照をクリックします。スクリーンショットをご覧ください:

A screenshot showing the Microsoft Visual Basic for Applications window with the Tools menu expanded

4. 表示された「参照 – VBAProject」ダイアログボックスで、リストボックスから「Microsoft Word 16.0 Object Library」を選択します。スクリーンショットをご覧ください:

A screenshot showing the References dialog box in the Microsoft Visual Basic for Applications window with the Microsoft Word 16.0 Object Library selected

5. 「OK」ボタンをクリックしてダイアログボックスを閉じ、次にF5キーを押してこのコードを実行します。「参照」ウィンドウが表示されたら、テキストを置換したいWordファイルを選択します。スクリーンショットをご覧ください:

A screenshot showing the Browse window for selecting a Word file

6. 次に、「OK」をクリックし、次のダイアログボックスでCtrlキーを押しながら使用したい元のテキストと新しいテキストのセルをそれぞれ選択します。スクリーンショットをご覧ください:

A screenshot showing the selection of two ranges in Excel for find and replace text

7. その後、「OK」ボタンをクリックすると、指定した文書内でテキストが見つかり、新しいテキストに置換され、ファイルも開かれます。変更を保存する必要があります。


VBAコードを使用してExcelから複数のWord文書で複数のテキストを検索および置換する

また、複数のWord文書で複数のテキストを検索して置換するためのVBAコードも作成しました。次の手順に従ってください:

1. 置換対象と置換後の値を含む2つの列を持つExcelファイルを開き、Alt+ F11キーを同時に押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。

A screenshot showing an Excel worksheet with columns containing texts to find and replace

2. 次に、 挿入 > モジュールをクリックし、以下のVBAコードをウィンドウにコピーして貼り付けます。

VBAコード:複数のWordファイルで複数のテキストを検索および置換する

Sub FindReplaceAcrossMultipleWordDocuments()
'Updateby ExtendOffice
Dim xWordApp As Word.Application
Dim xDoc As Word.Document
Dim xRng As Range
Dim I As Integer
Dim xFolderDlg As FileDialog
Dim xFSO As Scripting.FileSystemObject
Dim xFile As File
On Error GoTo ExitSub
Set xFolderDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFolderDlg.Show <> -1 Then GoTo ExitSub
Set xRng = Application.InputBox("Please select the lists of find and replace texts (Press Ctrl key to select two same size ranges", "Kutools for Excel", , , , , , 8)
If xRng.Areas.Count <> 2 Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
If (xRng.Areas.Item(1).Rows.Count <> xRng.Areas.Item(2).Rows.Count) Or _
  (xRng.Areas.Item(1).Columns.Count <> xRng.Areas.Item(2).Columns.Count) Then
  MsgBox "Please select two columns (press Ctrl key), the two ranges have the same size.", vbInformation + vbOKOnly, "Kutools for Excel"
  GoTo ExitSub
End If
Set xFSO = New Scripting.FileSystemObject
Set xWordApp = CreateObject("Word.application")
xWordApp.Visible = True
For Each xFile In xFSO.GetFolder(xFolderDlg.SelectedItems(1)).Files
  If VBA.InStr(xFile.Type, "Microsoft Word") > 0 Then
    Set xDoc = xWordApp.Documents.Open(xFile.Path)
    For I = 1 To xRng.Areas.Item(1).Cells.Count
      With xDoc.Application.Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = xRng.Areas.Item(1).Cells.Item(I).Value
        .Replacement.Text = xRng.Areas.Item(2).Cells.Item(I).Value
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
      End With
      xDoc.Application.Selection.Find.Execute Replace:=wdReplaceAll
    Next
    xDoc.Close wdSaveChanges
  End If
Next
xWordApp.Quit
MsgBox "The Find and Replace has been completed", vbInformation + vbOKOnly, "Kutools for Excel"
ExitSub:
  Set xRng = Nothing
  Set xFolderDlg = Nothing
  Set xWordApp = Nothing
  Set xDoc = Nothing
End Sub

3. Microsoft Visual Basic for Applicationsウィンドウで、ツール > 参照をクリックし、「参照 – VBAProject」ダイアログボックスでリストボックスから「Microsoft Word 16.0 Object Library」と「Microsoft Scripting Runtime」オプションを選択します。スクリーンショットをご覧ください:

A screenshot showing the References dialog box with Microsoft Word 16.0 Object Library and Microsoft Scripting Runtime selected

4. 2つのオプションを選択したら、「OK」をクリックしてダイアログボックスを閉じ、続けてF5キーを押してこのコードを実行します。「 参照」ウィンドウが開いたら、検索と置換を実行したいWord文書が含まれるフォルダを選択します。スクリーンショットをご覧ください:

A screenshot showing the folder selection dialog for choosing a folder containing Word documents for find and replace

5. 「OK」ボタンをクリックし、表示されたダイアログボックスで、Ctrlキーを押しながら使用したい元のテキストと新しいテキストの列をそれぞれ選択します。スクリーンショットをご覧ください:

A screenshot showing the selection of original and new text columns in Excel for find and replace

6. 最後に、「OK」をクリックすると、これらのファイル全体で元のテキストが新しいテキストに置き換えられます。完了すると、以下のようなダイアログボックスが表示されます:

A screenshot showing the confirmation dialog box after completing the find and replace process across multiple Word documents

7. 「OK」をクリックしてダイアログを閉じます。そして、変換結果を確認するためにファイルを開いてください。


強力な機能を使用して複数のWord文書で複数のテキストを検索および置換する

このセクションでは、ExcelではなくWord自体を使用して複数のWord文書で一括検索と置換を行う方法について説明します。強力なKutools for Wordを使用することで、本文、ヘッダー、フッター、コメントなどにおいて特定のテキストを効率的に検索し、必要に応じてハイライト表示しながら新しいテキストに置換することができます。

Kutools for Wordについて、AI 🤖を搭載し、100 以上の便利な機能を提供して作業を簡素化します。

1. 1つのWordファイルを開き、次に「Kutools Plus」>「一括検索と置換」をクリックします。スクリーンショットをご覧ください:

A screenshot showing the Kutools for Word Batch Find and Replace feature in the Ribbon

2. 開かれた「一括検索と置換」ダイアログボックスで、次の操作を行ってください:

  • 追加ボタンをクリックして、テキストを検索して置換したいWordファイルを追加します;
  • 左ペインで、上部リボンから「行を追加」をクリックします;
  • 挿入されたフィールドに、検索置換したい元のテキストと新しいテキストをそれぞれ入力します。また、必要に応じて置換されたテキストをハイライト表示する色を指定することもできます。

A screenshot showing the Batch Find and Replace dialog box with the option to add Word files

3. 検索条件を作成したら、「置換」ボタンをクリックして「プレビュー結果」タブに移動し、検索と置換の結果を確認します。スクリーンショットをご覧ください:

A screenshot showing the Preview Result tab after performing find and replace

4. 次に、「閉じる」ボタンをクリックすると、このシナリオを保存するかどうかを確認するプロンプトボックスが表示されます。「はい」をクリックして保存し、「いいえ」をクリックして無視します。スクリーンショットをご覧ください:

A screenshot showing the prompt asking if the user wants to save the batch find and replace scenario in Kutools for Word

ヒント:この機能は、次の操作にも役立ちます:
  • 複数のWord文書で特殊文字を検索および置換する;
  • 複数のWord文書で特定の書式を持つ複数の文字列を検索および置換する;
  • 複数のtxt/htm/htmlファイルで複数の文字列を検索および置換する。

この機能の詳細情報はこちらをクリックしてください…

AI強化されたKutools for Wordで短時間でより多くの作業を実現

Kutools for Wordは単なるツールの集合ではなく、生産性を向上させるために設計されたスマートなソリューションです。AI駆動の機能と最も重要な特徴により、Kutoolsを使えば短時間でより多くの作業を達成できます。

  • コンテンツの要約、書き直し、作成、翻訳を瞬時に実行します。
  • 執筆中に文法、句読点、スタイルに関する提案をリアルタイムで校正します。
  • レイアウト、スタイル、構造を維持しながら、文章を再構成および翻訳します。
  • 40以上の言語に簡単に翻訳でき、グローバルに影響力を広げます。
  • 現在の文書内容に基づいて即時のヘルプとインテリジェントな洞察を受け取ります。
  • セクション区切りを削除する方法など、タスクの完了方法を尋ねると、AIがガイドまたは代行して処理します。
  • 機密情報やプライバシーに関わる情報を数秒で編集し、完全なプライバシーを確保します。
  • すべてのツールはWord内でシームレスに動作し、常に手の届く場所にあります。
  • ドキュメントの作成、改善、翻訳、要約、保護を簡単に行います。
  • リアルタイムで執筆しながら、文法、明瞭さ、トーンを改善します。
  • レイアウトやフォーマットを変更せずに、コンテンツを再構成および翻訳します。
  • セクション区切りを削除する方法など、タスクの完了方法を尋ねると、AIがガイドまたは代行して処理します。
  • すべてのツールはWord内でシームレスに動作し、常に手の届く場所にあります。
Kutools for Wordについてさらに詳しく 今すぐダウンロード
Kutools for Word features

最高のオフィス生産性ツール

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!