KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel を使って、Word 内の複数のテキストを一括で検索・置換する方法は?

著者Xiaoyang変更日

Microsoft Word の検索と置換機能を使えば、特定のテキストを素早く検索・置換できます。ただし、複数の異なる語句を置換する必要がある場合、一つひとつ手動で入力するのは非常に時間のかかる作業です。

この作業を効率化するには、Excel で置換対象のテキスト一覧を作成し、シンプルな VBA コードで自動化するのがおすすめです。本チュートリアルでは、Excel と VBA を使って、単一の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ウィンドウを開きます。

検索および置換するテキストを含む列があるExcelワークシートのスクリーンショット

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ウィンドウで、ツール>参照設定をクリックします(スクリーンショット参照)。

Microsoft Visual Basic for Applicationsウィンドウで[ツール]メニューが展開されているスクリーンショット

4。表示された参照設定 – VBAProjectダイアログボックスで、リストからMicrosoft Word 16.0 オブジェクトライブラリを選びます(スクリーンショット参照)。

Microsoft Visual Basic for Applicationsウィンドウ内の参照ダイアログボックスで、Microsoft Word 16.0オブジェクトライブラリが選択されているスクリーンショット

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

Wordファイルを選択するための[参照]ウィンドウのスクリーンショット

6。次に、表示されるダイアログボックスでOKをクリックし、Ctrlキーを押しながら、使用したい元のテキストセルと新しいテキストセルを個別に選択します(スクリーンショット参照)。

Excelでテキストの検索および置換を行うための2つの範囲が選択されているスクリーンショット

7OKボタンをクリックすると、指定した文書内でテキストが検索され、新しいテキストに置換されます。同時にファイルも開くため、変更内容を保持するには保存が必要です。


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

複数のWord 文書にまたがってテキストを一括で検索・置換できる VBA コードもご用意しました。以下の手順に従ってご利用ください。

1。下のスクリーンショットのように、置換元と置換後の値を含む2 列のExcel ファイルを開き、Alt + F11キーを同時に押して、Microsoft Visual Basic for Applicationsウィンドウを開きます。

検索および置換するテキストを含む列があるExcelワークシートのスクリーンショット

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

3Microsoft Visual Basic for Applicationsウィンドウで引き続き、ツール参照設定をクリックします。表示された参照設定 – VBAProjectダイアログボックスで、リストからMicrosoft Word 16.0 オブジェクトライブラリMicrosoft Scripting Runtimeの各オプションを選択してください(スクリーンショット参照)。

Microsoft Word 16.0オブジェクトライブラリとMicrosoft Scripting Runtimeが選択された参照ダイアログボックスのスクリーンショット

4。2 つのオプションをチェックした後、OKをクリックしてダイアログボックスを閉じ、その後 F5キーを押してこのコードを実行します。表示される参照ウィンドウで、検索と置換を実行したいWord 文書が含まれるフォルダーを選択してください(スクリーンショット参照)。

複数のWord文書に対して検索および置換を行うフォルダーを選択するためのフォルダー選択ダイアログのスクリーンショット

5OKボタンをクリックするとダイアログボックスが表示されるので、Ctrlキーを押しながら、使用したい元のテキスト列と新しいテキスト列をそれぞれ個別に選択してください(スクリーンショット参照)。

Excelで検索および置換用の元のテキスト列と新しいテキスト列が選択されているスクリーンショット

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

複数のWord文書に対して検索および置換処理が完了した後の確認ダイアログボックスのスクリーンショット

7OKをクリックしてダイアログを閉じると、ファイルを開いて変換結果を確認できます。


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

ここでは、Excel ではなくWord そのものを使って複数のWord 文書にわたってテキストを一括で検索・置換する方法をご紹介します。強力なKutools for Word 機能を使えば、本文やヘッダー、フッター、コメントなどに含まれる特定のテキストを効率的に検索・置換でき、必要に応じて結果をハイライト表示することも可能です!

Kutools for Word

Kutools for Word は、コーディングも複雑な設定も不要。Microsoft Word に実用的なツールを直接搭載し、日常のドキュメント作業をよりスピーディーに処理するお手伝いをします。

  • AI による文章作成、推敲、翻訳、要約
  • 一括検索と置換をドキュメント間で一貫して利用可能
  • Word 文書を簡単に結合・分割
  • Word と PDF のバッチ変換

1。Word ファイルを1 つ開き、KUTOOLS PLUS > 一括検索と置換をクリックします(スクリーンショット参照)。

リボンに表示されたKutools for Word一括検索および置換機能のスクリーンショット

2一括検索と置換ダイアログボックスが表示されたら、以下の操作を行います。

  • クリックして追加ボタンを押し、テキストを検索と置換したいWord ファイルを追加します;
  • 左側のペインで、行を追加を上部のリボンからクリックします;
  • 挿入されたフィールドに、検索および置換したい内容として、検索する文字列置換後の文字列をそれぞれ入力してください。また、必要に応じて、置換後のテキストをハイライト表示する色も指定できます。

Wordファイルを追加するオプションがある一括検索および置換ダイアログボックスのスクリーンショット

3。検索条件を作成したら、置換ボタンをクリックしてプレビュー結果タブに移動し、検索・置換の結果を確認してください(スクリーンショット参照)。

検索および置換を実行した後の[結果プレビュー]タブのスクリーンショット

4。次に、閉じるボタンをクリックすると、「このシナリオを保存しますか?」というプロンプトが表示されます。はいをクリックして保存するか、いいえをクリックして保存せずに終了してください(スクリーンショット参照)。

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の機能

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


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

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得