Skip to main content

如何使用Excel在Word中查找和替換多個文字?

Author: Xiaoyang Last Modified: 2025-05-12

在 Microsoft Word 中,尋找和替換功能是一種快速搜尋和替換特定文字的高效方式。然而,當你需要替換多個不同的詞語時,手動輸入每個詞可能會非常耗時。

為了簡化這個過程,你可以使用 Excel 創建一個要查找和替換的文字列表,然後通過簡單的 VBA 代碼自動完成該任務。本教程將指導你如何使用 Excel 和 VBA 在單個 Word 文件中查找和替換多個文字。此外,我還會向你展示如何將此方法擴展到多個文件,並介紹 Kutools 的強大功能以進行批量文字替換。

使用VBA代碼從Excel中查找和替換一個Word文件中的多個文字

使用VBA代碼從Excel中查找和替換多個Word文件中的多個文字

使用強大的功能在多個Word文件中查找和替換多個文字


使用VBA代碼從Excel中查找和替換一個Word文件中的多個文字

如果你只想在一個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代碼:在一個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. 點擊 確定 按鈕關閉對話框,現在按下 F5 鍵運行此代碼,在彈出的瀏覽窗口中,選擇你要替換文字的Word文件,見下圖:

A screenshot showing the Browse window for selecting a Word file

6. 然後,點擊 確定,在接下來的對話框中,按住 Ctrl 鍵分別選擇原始文字和新文字的單元格,見下圖:

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

7. 接著,點擊 確定 按鈕,現在,指定文檔中的文字已被找到並替換為新文字,並且該文件也已打開,你應該保存它以保留更改。


使用VBA代碼從Excel中查找和替換多個Word文件中的多個文字

我也創建了一段VBA代碼來幫助你在多個Word文件中查找和替換多個文字。請按照以下步驟操作:

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代碼:在多個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 LibraryMicrosoft Scripting Runtime 選項,見下圖:

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

4. 勾選這兩個選項後,點擊 確定 關閉對話框,然後繼續按下 F5 鍵執行此代碼,在打開的瀏覽窗口中,選擇包含你要執行查找和替換操作的Word文件的文件夾,見下圖:

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

5. 點擊 確定 按鈕,在彈出的對話框中,按住 Ctrl 鍵分別選擇原始文字和新文字列,見下圖:

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

6. 最後,點擊 確定,這些文件中的原始文字已被替換為新的文字,完成後,將彈出一個對話框,如下圖所示:

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

7. 點擊 確定 關閉對話框。你可以前往這些文件檢查轉換結果。


使用強大的功能在多個Word文件中查找和替換多個文字

在本節中,我將解釋如何使用 Word 自身而不是 Excel 來批量查找和替換多個 Word 文件中的文字。通過使用強大的 Kutools for Word,你可以高效地搜索特定文字並將其替換為新的文字,包括主體、頁首、頁尾、批註等,還可以根據需要高亮顯示結果。

Kutools for Word內建人工智慧 ?,提供超過 100 種實用功能,簡化您的工作流程。

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 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 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%,每天為您減少數百次鼠標點擊!