如何從 Excel 中查找和替換 Word 文檔中的文本?
在 Word 文檔中,我們可以應用查找和替換功能快速查找和替換一個文本。 但是,如果需要查找和替換多個文本,將文本逐個輸入到查找和替換功能中會很耗時。 在這種情況下,您可以將查找和替換文本輸入到單元格列表中,並在 Excel 中的 VBA 代碼的幫助下輕鬆完成這項工作。 在本文中,我還將介紹一個有用的功能,可以批量查找和替換多個 Word 文檔中的文本。
使用 VBA 代碼從 Excel 中查找和替換一個 Word 文檔中的多個文本
使用 VBA 代碼從 Excel 中查找和替換多個 Word 文檔中的多個文本
使用 VBA 代碼從 Excel 中查找和替換一個 Word 文檔中的多個文本
如果您只想在一個 Word 文件中查找和替換某些文本,下面的 VBA 代碼可以幫到您。
1. 在 Excel 工作表中,創建一個包含要查找和替換的文本的列,以及另一個包含要替換的文本的列,如下圖所示。 然後按 Alt + F11 同時打開 Microsoft Visual Basic for Applications 窗口。
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 窗口中,單擊 工具 > 參考,請參見屏幕截圖:
4。 在彈出的 參考– VBAProject 對話框中,選擇 Microsoft Word 16.0對像庫 從列錶框中,看截圖:
5。 點擊 OK 按鈕關閉對話框,現在,按 F5 鍵運行此代碼,在彈出的瀏覽窗口中,選擇要替換文本的 Word 文件,看截圖:
6。 然後,點擊 OK, 在以下對話框中,按 按Ctrl 鍵分別選擇要使用的原始文本和新文本單元格,請參見屏幕截圖:
7。 然後,單擊 OK 按鈕,現在,文本被找到並替換為您指定文檔中的新文本,並且文件也正在打開,您應該保存它以保留更改。
使用 VBA 代碼從 Excel 中查找和替換多個 Word 文檔中的多個文本
在這裡,我還創建了一個 VBA 代碼,用於在多個 Word 文檔中查找和替換多個文本,請這樣做:
1. 打開包含兩列要替換和替換的值的 Excel 文件,如下圖所示,然後按 Alt + F11 同時打開 Microsoft Visual Basic for Applications 窗口。
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腳本運行時 列錶框中的選項,請參見屏幕截圖:
4. 勾選兩個選項後,點擊 OK 關閉對話框,然後繼續按 F5 執行此代碼的關鍵,在開頭 瀏覽 窗口,選擇一個文件夾,其中包含要執行查找和替換的 Word 文檔,看截圖:
5。 點擊 OK 按鈕,在彈出的對話框中,按 按Ctrl 鍵分別選擇要使用的原始文本和新文本列,請參見屏幕截圖:
6。 最後點擊 OK, 並將這些文件中的原始文本替換為新文本,完成後會彈出一個對話框,如下圖所示:
7。 點擊 OK 關閉對話框。 您可以轉到文件來檢查轉換後的結果。
使用強大的功能查找和替換多個 Word 文檔中的多個文本
本節,我將討論如何從 Word 而不是 Excel 中批量查找和替換多個 Word 文檔中的文本。 借助強大的工具——Kutools for Word,您可以快速查找和替換特定文本,並將其替換為主文件、頁眉、頁腳、註釋等中的新文本,並根據需要突出顯示結果。
1. 打開一個 Word 文件,然後單擊 Kutools 加 > 批量查找和替換,請參見屏幕截圖:
2。 在開 批量查找和替換 對話框,請執行以下操作:
- 點擊 加入 按鈕添加要查找和替換文本的 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中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
