Note: The other languages of the website are Google-translated. Back to English

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日間の返金保証。
kteタブ201905

Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
officetab下部
コメントを並べ替える
コメント (4)
まだ評価はありません。 最初に評価してください!
このコメントは、サイトのモデレーターによって最小化されました
ご挨拶、
最初のコード:
VBA コード: XNUMX つの Word ファイルで複数のテキストを検索して置換する

エラーが発生しました:コンパイルエラーのユーザー定義型が定義されていません
https://i.imgur.com/FZPBy4I.png
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、エリック
コードはうまく機能します。
たぶん、あなたはチェックしていません Microsoft Word16.0オブジェクトライブラリ から 参照– VBAProject ダイアログボックス。
これは、この記事のステップ 3 とステップ 4 を見逃す可能性があることを意味します。
もう一度やり直してください。まだ他の問題がある場合は、ここにコメントしてください。

https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
このコメントは、サイトのモデレーターによって最小化されました
それは動作しません。

コンパイル エラー: ユーザー定義型が定義されていません
このコメントは、サイトのモデレーターによって最小化されました
こんにちは、パラム
コードはうまく機能します。
たぶん、あなたはチェックしていません Microsoft Word16.0オブジェクトライブラリ から 参照– VBAProject ダイアログボックス。
これは、この記事のステップ 3 とステップ 4 を見逃す可能性があることを意味します。
もう一度やり直してください。まだ他の問題がある場合は、ここにコメントしてください。
https://www.extendoffice.com/images/stories/comments/comment-skyyang/2023-comment/doc-find-replace-word-file-excel.png
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護