KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Word 中運用 Excel 資料,一次查找並替換多筆文字?

作者Xiaoyang修改日期

在 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 視窗。

顯示 Excel 工作表的螢幕截圖,其中包含含有要尋找與取代文字的欄位

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 視窗中,請點選工具 參考項目,詳情請參閱截圖:

顯示 Microsoft Visual Basic for Applications 視窗的螢幕截圖,其中「工具」功能表已展開

4. 在彈出的 參考項目 – VBAProject對話方塊中,請從清單中選取 Microsoft Word 16.0 物件庫,詳情請參閱截圖:

顯示 Microsoft Visual Basic for Applications 視窗中「參考」對話方塊的螢幕截圖,並已選取 Microsoft Word 16.0 物件庫

5. 按一下確定按鈕關閉對話方塊,接著按下 F5 鍵執行此程式碼。在彈出的瀏覽視窗中,選取您要取代文字的 Word 檔案,請參閱截圖:

顯示用於選取 Word 檔案的「瀏覽」視窗螢幕截圖

6. 在接下來的對話方塊中,先按一下確定,再按下 Ctrl 鍵,分別選取您要使用的原文本與新文本儲存格,請參閱截圖:

顯示在 Excel 中選取兩個範圍以進行文字尋找與取代的螢幕截圖

7. 接著按一下確定按鈕,在文字於您指定的文件中被尋找並以新文本取代後,檔案將自動開啟,請立即儲存以保留變更。


使用 VBA 程式碼從 Excel 在多份 Word 文件中查找和替換多筆文字

我也撰寫了一段 VBA 程式碼,協助您在多份 Word 文件中快速查找並替換多筆文字。請依照下列步驟操作:

1. 開啟包含「取代」與「取代為」兩欄數值的 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

3. 仍在 Microsoft Visual Basic for Applications 視窗中,請點選工具 參考項目。在 參考項目 – VBAProject對話方塊中,從清單中勾選 Microsoft Word 16.0 物件庫Microsoft Scripting Runtime 選項,請參閱截圖:

顯示「參考」對話方塊的螢幕截圖,其中已選取 Microsoft Word 16.0 物件庫與 Microsoft Scripting Runtime

4. 勾選這兩個選項後,按一下確定關閉對話方塊,接著按下 F5 鍵執行此程式碼。在開啟的瀏覽視窗中,選擇包含您要進行查找與替換之 Word 文件的資料夾,請參閱截圖:

顯示用於選擇包含 Word 文件之資料夾的對話方塊螢幕截圖,以進行尋找與取代

5. 在彈出的對話方塊中,按下 Ctrl 鍵,分別選取您要使用的原文本與新文本欄位,然後按一下確定按鈕,請參閱截圖:

顯示在 Excel 中選取原始文字與新文字欄位以進行尋找與取代的螢幕截圖

6. 最後按一下確定,即可將這些檔案中的原文本替換為新文字。完成後,將彈出如下方截圖所示的對話方塊:

顯示在多個 Word 文件中完成尋找與取代程序後的確認對話方塊螢幕截圖

7. 按一下確定關閉對話方塊後,即可前往檔案檢視轉換結果。


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

本節將說明如何直接透過 Word 本身(而非 Excel),在多份 Word 文件中批量查找與替換文字。藉由強大的 Kutools for Word,您可高效地在本文、頁首、頁尾、註解等位置搜尋特定文字並予以取代,還能依需求突顯結果,大幅提升編輯效率!

Kutools for Word

Kutools for Word 讓您透過 Microsoft Word 內建的實用工具,無需編碼、無需繁瑣設定,就能更快速地完成日常文件任務!

  • AI 撰寫、潤飾、翻譯與摘要
  • 批量查找與替換跨文件操作
  • 輕鬆合併與分割 Word 文件
  • 批次轉換 Word ↔ PDF

1. 開啟一份 Word 檔案,接著點選 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 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……


Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!

  • 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
  • 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
  • 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!

所有 Kutools 增益集,一個安裝程式

Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用