KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 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 Object Library,参见下图:

显示 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 Object LibraryMicrosoft 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配备 AI 🤖,提供 100 多项实用功能,助您简化任务。

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 功能

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 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、Publisher、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 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱