如何從 Excel 中查找和替換 Word 文檔中的文本?
在 Word 文檔中,我們可以應用查找和替換功能快速查找和替換一個文本。 但是,如果需要查找和替換多個文本,將文本逐個輸入到查找和替換功能中會很耗時。 在這種情況下,您可以將查找和替換文本輸入到單元格列表中,并在 Excel 中的 VBA 代碼的幫助下輕松完成這項工作。 在本文中,我還將介紹一個有用的功能,可以批量查找和替換多個 Word 文檔中的文本。
使用 VBA 代碼從 Excel 中查找和替換一個 Word 文檔中的多個文本
使用 VBA 代碼從 Excel 中查找和替換多個 Word 文檔中的多個文本
使用強大的功能查找和替換多個 Word 文檔中的多個文本
使用 VBA 代碼從 Excel 中查找和替換一個 Word 文檔中的多個文本
如果您只想在一個 Word 文件中查找和替換某些文本,下面的 VBA 代碼可以幫到您。
1. 在 Excel 工作表中,創建一個包含要查找和替換的文本的列,以及另一個包含要替換的文本的列,如下圖所示。 然后按 Alt + F11 同時打開 Microsoft Visual Basic應用程序 窗口。
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應用程序 窗口中,單擊 工具 > 參考資料,請參見屏幕截圖:
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應用程序 窗口。
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 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。 然后,點擊 關閉 按鈕,會彈出提示框提醒您是否要保存該場景,點擊 是 保存它,然后單擊 沒有 要忽略它,請參見屏幕截圖:
Tips:此功能還可以幫助實現以下操作:
查找和替換多個Word文檔中的特殊字符;
在多個 Word 文檔中查找并替換具有特定格式的多個字符串;
在多個 txt/htm/html 文件中查找和替換多個字符串。
單擊以了解此功能的更多詳細信息...
最佳辦公生產力工具
將小時轉化為分鐘 Kutools for Excel!
準備好增強您的 Excel 任務了嗎? 利用的力量 Kutools for Excel - 您終極的節省時間的工具。 簡化復雜的任務并像專業人士一樣瀏覽數據。 以閃電般的速度體驗 Excel!
為什么需要 Kutools for Excel
??? 超過 300 項強大功能: Kutools 包含 300 多項高級功能,可簡化您在 1500 多種場景中的工作。
?? 卓越的數據處理能力:合并單元格、刪除重復項并執行高級數據轉換 - 所有這些都不費吹灰之力!
?? 高效的批量操作:當你可以聰明地工作時,為什么還要付出額外的努力呢? 輕松批量導入、導出、組合和調整數據。
?? 可定制的圖表和報告:訪問各種附加圖表并生成富有洞察力的報告。
??? 強大的導航窗格:通過強大的列管理器、工作表管理器和自定義收藏夾獲得優勢。
?? 七種類型的下拉列表:通過各種功能和類型的下拉列表使數據輸入變得輕而易舉。
?? 用戶友好:對于初學者來說輕而易舉,對于專家來說是一個強大的工具。

立即下載,與 Excel 一起穿越時空!
閱讀更多
免費下載... 采購...
Office Tab 為 Office 帶來選項卡式界面,讓您的工作更輕松
在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
在同一窗口的新選項卡中而不是在新窗口中打開并創建多個文檔。
每天將您的工作效率提高50%,并減少數百次鼠標單擊!