目录

一、问题假设

1.待处理文件

2.假设处理要求

二、关键思路

1.遍历Excel单元格

2.Word中查找替换

三、参考代码

四、操作步骤及效果

1.步骤

(1)准备

(2)开始运行

(3)选择文件

(4)点击确定,处理完成

2.验证

五、代码源文件


注意:因为此问题可以结合大学日常用得较多的Excel,作为存储多个关键词的载体。此文便在Excel中写代码,也方便操作。

一、问题假设

1.待处理文件

假如现在有一个文件夹,里面有一篇Word文档(右);需要检索的词记录在相同文件夹下的另一个Excel工作簿中的Sheet1这张表格的A列(左,第一行是标题,不参与检索),即查找的内容,替换的内容为第B列,C列可以选择是否用通配符替换。

示例文件夹及其文件

2.假设处理要求

需要将上图所有Word文件中包含Excel表格里的关键词所地方左右加上中括号

二、关键思路

1.遍历Excel单元格

遍历存放多个关键词的Excel表格“关键词.xlsx”的Sheet1的A列的单元格。

2.Word中查找替换

每个单元格的值作为Word查找的内容,在Word中将查找到的区域标记在中括号内。

参数设置:

查找替换参数

这里前面两个关键词用的是不勾选通配符替换,第三个是通配符替换,有时写法上可能稍有差别。

关于Word(通配符)替换的内容,可以关注我的专栏

Word(通配符)替换https://www.zhihu.com/column/c_1517437402993397760

了解之前收录的更多典型示例。

三、参考代码

Rem 此处以下为主程序
Sub Word批量替换()Dim sht As WorksheetDim wdApp As ObjectDim fd As FileDialogDim fso As ObjectDim fNameDim aDocDim arrSet sht = ThisWorkbook.Sheets("sheet1")Set wdApp = CreateObject("Word.Application")Set fd = Application.FileDialog(msoFileDialogFilePicker)Set fso = CreateObject("Scripting.FileSystemObject")arr = sht.Cells(1, 1).CurrentRegionWith fd.AllowMultiSelect = True.InitialFileName = ThisWorkbook.Path.Title = "选择Word文件(可多选)".Filters.Clear.Filters.Add "所有文件", "*.*", 1.Filters.Add "Word文件", "*.doc*;*.dot*", 2If .Show ThenApplication.ScreenUpdating = FalseFor Each fName In .SelectedItemsOn Error Resume NextIf fso.GetExtensionName(fName) Like "do[ct]*" And Not fName Like "*~$*" ThenSet aDoc = wdApp.Documents.Open(fName)For i = LBound(arr, 1) + 1 To UBound(arr, 1)Call 处理过程(aDoc, CStr(arr(i, 1)), CStr(arr(i, 2)), CBool(arr(i, 3)))NextaDoc.Close -1j = j + 1Debug.Print j, fName, "处理完成"End IfNextApplication.ScreenUpdating = TrueEnd IfEnd WithSet sht = NothingSet fd = NothingSet wdApp = NothingSet fso = NothingSet aDoc = NothingMsgBox Format(j, "完成 共处理了0个Word文件")
End SubRem 此处以下为替换过程
Sub 处理过程(aDoc, findText As String, Optional replaceText As String = "^&", Optional wildCards As Boolean = False)On Error GoTo err1With aDoc.Content.Find.ClearFormatting.Forward = True.Wrap = 0.MatchWildCards = wildCards.Text = findText.Replacement.ClearFormatting.Replacement.Text = replaceText.Execute Replace:=2End WithExit Suberr1:Debug.Print Err.Description
End Sub

四、操作步骤及效果

1.步骤

(1)准备

打开Excel工作簿【关键词.xlsm】,同时关闭掉需要处理的Word文件

(2)开始运行

点击Excel表格中的【执 行】或者在代码主程序范围内点击运行按钮

开始运行的两种方法

(3)选择文件

按下图所示:选择要处理的Word文件(可多选),点击【打开】

选择文件并打开

(4)点击确定,处理完成

点击确定

注意:因为有一个文件在测试的时候处理了,此处我只选择了2个文件处理,是没有问题的。

2.验证

打开刚刚处理过的Word文件:

发现每一个Word文件第一处符合要求的关键词已经按要求标记/替换完成。

五、代码源文件

链接: https://pan.baidu.com/s/1Z8vL08TljVpBlbAYq_Ly1g?pwd=ypkd 提取码: ypkd 复制这段内容后打开百度网盘手机App,操作更方便哦

源文件二维码

打开文件,在表格中填好查找替换相关参数,然后直接点击操作即可。

VBA:结合查找替换批量检索关键词相关推荐

  1. vba word 查找_Word批量查找替换VBA代码

    编写该代码的目的: 初衷 该代码最初用于我自己弄得一个用于批量化写word报告的东西,因为我原来需要写一堆格式化的报告,不同报告间除了数据发生了变化,其他几乎一模一样,我想偷懒(主要是我容易写错),就 ...

  2. linux 查找替换

    查找 find [路径] <表达式> 查找文件 -name <表达式> 根据文件名查找文件 -iname <表达式> 根据文件名查找文件,忽略大小写 -path & ...

  3. .net trim 替换指定字符_CAD二次开发实例:批量文本查找替换

    # 0. 引言 在CAD中进行文本替换已经存在一个find命令了,但是只能进行一对一的文本替换,如果遇到一个图形文件中有很多个文本需要替换时,你不可能一个一个的去find替换吧,当然你也可以尝试一个一 ...

  4. 批量文档处理软件推荐,同时处理 Word、Excel、PPT、PDF 等办公文件,支持批量格式转换、重命名和查找替换等

    概要:今天给大家带来的这款专门针对 Word.PPT.Excel.PDF 和记事本文本文件批量处理格式转换的软件--我的ABC软件工具箱.它集合了批量修改文件名称.批量修改文件内容.批量设置页眉页脚. ...

  5. WordSR 在多个Word文件中批量查找替换

    这阵子在看一些技术文档,都是 word 格式的,需要在多个Word文件中批量查找指定的内容,找不到免费的合适的软件,顺手开发了这个工具软件,下载地址 WordSR v0.2,下面是一些版权信息和软件介 ...

  6. idea查找替换快捷键,批量处理

    idea查找替换快捷键,批量处理 选择要替换的内容,按Ctrl+R 在下面输入需要替换的新内容即可. 如图所示,可以选择替换和全部替换.

  7. python查找多个关键词_Python批量查询关键词微信指数实例方法

    教你用Python批量查询关键词微信指数. 前期准备安装好Python开发环境及Fiddler抓包工具.前期准备安装好Python开发环境及Fiddler抓包工具. 首先打开Fiddler软件,点击T ...

  8. vba word 查找_教你一招!学会这些word小技巧,班级数据管理不犯愁,老师们一定要知道!...

    文字批量标红加粗 Excel的功能虽然很强大,但还是有一些比较难解决的问题,例如下图所示,我们需要把表格中的"天"字批量标红加粗,该怎么做呢? 如果直接用Excel处理,因为不能用 ...

  9. VBA 收集 Word关键字批量处理

    VBA 收集 Word关键字批量处理 批量对关键字打标记(文件夹遍历) 写日志 移动文件 选择目录 对关键字打标记(查找替换) 创建样式 获取关键字(动态数组) 参考资料 批量对关键字打标记(文件夹遍 ...

最新文章

  1. ubuntu服务器常见使用技巧及-kill掉后GPU显存不释放进程-
  2. python画散点图类型-python画时间序列散点图
  3. 递归下降语法分析程序
  4. c语言的编译环境出错怎么办,编译是通过,连接时出错,怎么办
  5. python文本处理第三方库是什么_python第三方库网站
  6. python ascii转utf8_ascii 转换为 utf-8
  7. 【GIS风暴】GeoJSON数据格式案例全解
  8. 计算机xp用户丢失,WinXP电脑硬盘分区表丢失的解决方法
  9. 千博HTML5自适应企业网站系统 v2021 Build0622
  10. 香蕉派,蜘蛛侠手臂和USO世界
  11. rails3 Route用法
  12. matlab2c使用c++实现matlab函数系列教程-sqrt函数
  13. etcd 及 etcd 在 k8s中的用法
  14. java解析魔兽争霸3录像_《魔兽争霸》的录像,为什么长达半小时的录像大小只有几百 KB?...
  15. SQL200修改服务器IP,如何修改SQL IP地址
  16. mysql5.7卸载服务_Mysql5.7.28安装配置、卸载—CentOS7.6生产环境下的微服务部署(四)...
  17. 射频收发信机架构和射频信号介绍
  18. mysql rds 主从_简单说说RDS的主从功能是如何实现
  19. 干货!基于非递减分位数网络的值分布强化学习及其高效探索方法
  20. python初学者游戏开发团队

热门文章

  1. 我的ctf学习笔记 misc(二)
  2. 欢迎关注公众号:Android系统攻城狮 原创持续更新中!!!
  3. 李宏毅课程-人类语言处理-BERT和它的家族-介绍和微调(上)
  4. 手机端 阅读 pdf 文件 touchPDF.js
  5. 2021,一家民企的“奔富”答卷
  6. 【5G核心网】 free5gc Handover procedures切换流程源码分析
  7. 更改他人微信密码违法计算机程序,怎么修改微信密码-如何快速更改windows帐户密码?|命令提示符更新密码的用法...
  8. 基于php微信小程序共享会议室预约系统设计与实现
  9. 互联网+智慧医疗:基于Python打造智慧医院项目之智能分诊
  10. 全国计算机等级考试自行打印准考证打印黑白的还是彩色的~