Excel から Word 文書内のテキストを検索して置換する方法
Word 文書では、検索と置換機能を適用して、XNUMX つのテキストをすばやく検索して置換できます。 ただし、複数のテキストを検索して置換する必要がある場合、検索と置換機能にテキストを XNUMX つずつ入力すると時間がかかります。 この場合、検索と置換のテキストをセルのリストに入力し、Excel の VBA コードを使用してこの作業を簡単に行うことができます。 この記事では、複数の Word 文書内のテキストを一括検索して置換する便利な機能も紹介します。
Excel から XNUMX つの Word 文書内の複数のテキストを検索して VBA コードに置き換える
Excel から複数の Word 文書内の複数のテキストを検索して VBA コードに置き換える
複数の Word ドキュメント内の複数のテキストを検索して置換する強力な機能
Excel から XNUMX つの Word 文書内の複数のテキストを検索して VBA コードに置き換える
XNUMX つの Word ファイルだけでいくつかのテキストを検索して置換したい場合は、次の VBA コードが役に立ちます。
1. Excel ワークシートで、検索して置換するテキストを含む列と、下のスクリーンショットに示すように置換するテキストを含む別の列を作成します。 そして、押します Alt + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
2。 次に、をクリックします。 インセット > モジュールで、以下の VBA コードをコピーしてウィンドウに貼り付けます。
VBA コード: XNUMX つの 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 ウィンドウ、クリック 工具 > リファレンス、スクリーンショットを参照してください:
4。 飛び出した 参照– VBAProject ダイアログボックスで Microsoft Word16.0オブジェクトライブラリ リストボックスから、スクリーンショットを参照してください:
5に設定します。 OK をクリックします。 OK ボタンをクリックしてダイアログ ボックスを閉じ、次に を押します。 F5 キーを押してこのコードを実行し、ポップアップ ブラウズ ウィンドウで、テキストを置き換える Word ファイルを選択します。スクリーンショットを参照してください。
6。 次に、をクリックします。 OK、次のダイアログ ボックスで、 Ctrlキー キーを使用して、使用する元のテキストと新しいテキスト セルを個別に選択します。スクリーンショットを参照してください。
7。 次に、をクリックします OK ボタンをクリックすると、テキストが検出され、指定したドキュメントの新しいテキストに置き換えられ、ファイルも開かれます。変更を保持するには、ファイルを保存する必要があります。
Excel から複数の Word 文書内の複数のテキストを検索して VBA コードに置き換える
ここで、複数の Word ドキュメント内の複数のテキストを検索して置換するための VBA コードも作成します。次のようにしてください。
1. 下のスクリーンショットに示すように、置換および置換する値の XNUMX つの列を含む Excel ファイルを開き、次に を押します。 Alt + F11 キーを同時に開いて アプリケーション向け Microsoft Visual Basic 窓。
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 ウィンドウ、クリック 工具 > リファレンス、で 参照– VBAProject ダイアログボックスで Microsoft Word16.0オブジェクトライブラリ および Microsoftスクリプトランタイム リストボックスからのオプション、スクリーンショットを参照してください:
4. XNUMX つのオプションを確認したら、 OK ダイアログボックスを閉じてから、 F5 オープニングで、このコードを実行するためのキー ブラウズ ウィンドウで、検索と置換を実行する Word ドキュメントを含むフォルダーを選択します。スクリーンショットを参照してください。
5に設定します。 OK をクリックします。 OK ボタンをクリックし、ポップアウトされたダイアログ ボックスで、 Ctrlキー キーを使用して、使用する元のテキストと新しいテキスト列を個別に選択します。スクリーンショットを参照してください。
6。 最後に、 OK、およびこれらのファイル全体で元のテキストが新しいテキストに置き換えられます。完了すると、以下のスクリーンショットのようにダイアログボックスが表示されます。
7に設定します。 OK をクリックします。 OK ダイアログを閉じます。 ファイルに移動して、変換された結果を確認できます。
複数の Word ドキュメント内の複数のテキストを検索して置換する強力な機能
このセクションでは、Excel ではなく Word から複数の Word 文書のテキストをバッチ検索して置換する方法について説明します。 強力なツールでKutools for Word、特定のテキストをすばやく見つけて置き換え、メインファイル、ヘッダー、フッター、コメントなどの新しいテキストに置き換え、必要に応じて結果を強調表示できます.
1. XNUMX つの Word ファイルを開き、[ クツールズプラス > バッチ検索と置換、スクリーンショットを参照してください:
2。 オープンで バッチ検索と置換 ダイアログボックスで、次の操作を行ってください。
- 【送信】ボタンをクリックします。販売者は原則としてXNUMX日以内に回答を返信します。XNUMX日を過ぎても回答がない場合は、Artisanaryまでお問い合わせください。 追加 ボタンをクリックして、テキストを検索して置換する Word ファイルを追加します。
- 左側のペインで、をクリックします。 行を追加する 一番上のリボンから;
- 挿入されたフィールドで、元のテキストと新しいテキストを 海外受験 および 交換します 検索して置換する列を個別に指定します。 同様に、必要に応じて、置換されたテキストを強調表示する色を指定できます。
3. 検索条件を作成したら、 交換します に行くボタン プレビュー結果 タブをクリックして、検索と置換の結果を表示します。 スクリーンショットを参照してください:
4。 次に、をクリックします。 閉じる ボタンをクリックすると、このシナリオを保存するかどうかを確認するプロンプト ボックスが表示されます。 あり 保存するには、をクリックします いいえ 無視するには、スクリーンショットを参照してください。
- 複数の Word 文書で特殊文字を検索して置換します。
- 複数の Word ドキュメントで特定の書式設定を持つ複数の文字列を検索して置換します。
- 複数の txt/htm/html ファイルで複数の文字列を検索して置換します。
最高のオフィス生産性ツール
Kutools for Excelはほとんどの問題を解決し、生産性を80%向上させます
- 再利用: すばやく挿入 複雑な数式、チャート および以前に使用したものすべて。 セルを暗号化する パスワード付き。 メーリングリストを作成する そしてメールを送る...
- スーパーフォーミュラバー (複数行のテキストと数式を簡単に編集できます); 読書レイアウト (多数のセルを簡単に読み取って編集する); フィルター範囲に貼り付け...
- セル/行/列をマージする データを失うことなく; 分割セルコンテンツ; 重複する行/列を組み合わせる...重複セルを防止します。 範囲を比較する...
- [複製]または[一意]を選択します 行; 空白行を選択 (すべてのセルは空です); スーパーファインドとファジーファインド 多くのワークブックで; ランダム選択...
- 正確なコピー 数式参照を変更せずに複数のセル。 参照の自動作成 複数のシートに; 箇条書きを挿入、チェックボックスなど...
- テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷。 セルの内容とコメントを変換する...
- スーパーフィルター (フィルタースキームを保存して他のシートに適用します); 高度な並べ替え 月/週/日、頻度など。 特殊フィルター 太字、斜体...
- ワークブックとワークシートを組み合わせる; キー列に基づいてテーブルをマージします。 データを複数のシートに分割; xls、xlsx、PDFをバッチ変換...
- 300 以上の強力な機能. Office / Excel 2007-2021 および 365 をサポートします。すべての言語をサポートします。 企業や組織に簡単に導入できます。 フル機能の 30 日間無料トライアル。 60日間の返金保証。

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
