VBA:结合查找替换批量检索关键词
目录
一、问题假设
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:结合查找替换批量检索关键词相关推荐
- vba word 查找_Word批量查找替换VBA代码
编写该代码的目的: 初衷 该代码最初用于我自己弄得一个用于批量化写word报告的东西,因为我原来需要写一堆格式化的报告,不同报告间除了数据发生了变化,其他几乎一模一样,我想偷懒(主要是我容易写错),就 ...
- linux 查找替换
查找 find [路径] <表达式> 查找文件 -name <表达式> 根据文件名查找文件 -iname <表达式> 根据文件名查找文件,忽略大小写 -path & ...
- .net trim 替换指定字符_CAD二次开发实例:批量文本查找替换
# 0. 引言 在CAD中进行文本替换已经存在一个find命令了,但是只能进行一对一的文本替换,如果遇到一个图形文件中有很多个文本需要替换时,你不可能一个一个的去find替换吧,当然你也可以尝试一个一 ...
- 批量文档处理软件推荐,同时处理 Word、Excel、PPT、PDF 等办公文件,支持批量格式转换、重命名和查找替换等
概要:今天给大家带来的这款专门针对 Word.PPT.Excel.PDF 和记事本文本文件批量处理格式转换的软件--我的ABC软件工具箱.它集合了批量修改文件名称.批量修改文件内容.批量设置页眉页脚. ...
- WordSR 在多个Word文件中批量查找替换
这阵子在看一些技术文档,都是 word 格式的,需要在多个Word文件中批量查找指定的内容,找不到免费的合适的软件,顺手开发了这个工具软件,下载地址 WordSR v0.2,下面是一些版权信息和软件介 ...
- idea查找替换快捷键,批量处理
idea查找替换快捷键,批量处理 选择要替换的内容,按Ctrl+R 在下面输入需要替换的新内容即可. 如图所示,可以选择替换和全部替换.
- python查找多个关键词_Python批量查询关键词微信指数实例方法
教你用Python批量查询关键词微信指数. 前期准备安装好Python开发环境及Fiddler抓包工具.前期准备安装好Python开发环境及Fiddler抓包工具. 首先打开Fiddler软件,点击T ...
- vba word 查找_教你一招!学会这些word小技巧,班级数据管理不犯愁,老师们一定要知道!...
文字批量标红加粗 Excel的功能虽然很强大,但还是有一些比较难解决的问题,例如下图所示,我们需要把表格中的"天"字批量标红加粗,该怎么做呢? 如果直接用Excel处理,因为不能用 ...
- VBA 收集 Word关键字批量处理
VBA 收集 Word关键字批量处理 批量对关键字打标记(文件夹遍历) 写日志 移动文件 选择目录 对关键字打标记(查找替换) 创建样式 获取关键字(动态数组) 参考资料 批量对关键字打标记(文件夹遍 ...
最新文章
- ubuntu服务器常见使用技巧及-kill掉后GPU显存不释放进程-
- python画散点图类型-python画时间序列散点图
- 递归下降语法分析程序
- c语言的编译环境出错怎么办,编译是通过,连接时出错,怎么办
- python文本处理第三方库是什么_python第三方库网站
- python ascii转utf8_ascii 转换为 utf-8
- 【GIS风暴】GeoJSON数据格式案例全解
- 计算机xp用户丢失,WinXP电脑硬盘分区表丢失的解决方法
- 千博HTML5自适应企业网站系统 v2021 Build0622
- 香蕉派,蜘蛛侠手臂和USO世界
- rails3 Route用法
- matlab2c使用c++实现matlab函数系列教程-sqrt函数
- etcd 及 etcd 在 k8s中的用法
- java解析魔兽争霸3录像_《魔兽争霸》的录像,为什么长达半小时的录像大小只有几百 KB?...
- SQL200修改服务器IP,如何修改SQL IP地址
- mysql5.7卸载服务_Mysql5.7.28安装配置、卸载—CentOS7.6生产环境下的微服务部署(四)...
- 射频收发信机架构和射频信号介绍
- mysql rds 主从_简单说说RDS的主从功能是如何实现
- 干货!基于非递减分位数网络的值分布强化学习及其高效探索方法
- python初学者游戏开发团队
热门文章
- 我的ctf学习笔记 misc(二)
- 欢迎关注公众号:Android系统攻城狮 原创持续更新中!!!
- 李宏毅课程-人类语言处理-BERT和它的家族-介绍和微调(上)
- 手机端 阅读 pdf 文件 touchPDF.js
- 2021,一家民企的“奔富”答卷
- 【5G核心网】 free5gc Handover procedures切换流程源码分析
- 更改他人微信密码违法计算机程序,怎么修改微信密码-如何快速更改windows帐户密码?|命令提示符更新密码的用法...
- 基于php微信小程序共享会议室预约系统设计与实现
- 互联网+智慧医疗:基于Python打造智慧医院项目之智能分诊
- 全国计算机等级考试自行打印准考证打印黑白的还是彩色的~