- 359
- 0
- 约2.33千字
- 约 5页
- 2021-04-12 发布于天津
- 举报
VBA
VBA 批量替换 Word 中特定位置的内容 VBA 实例教程
除非注明, 文章均为 战战如疯 原创, 转载请保留链接 :
/cat4/212.html , VBA 交流 群 273624828 。
今天我们继续来看 VBA 操作 Word 的相关方法。 假设我们有
大批已经完成的 Word 报告,但是现在由于一些原因要将 报告中特定的词给替换掉。如果我们要替换的都是相同的词
那很简单,直接用我们在上一篇“ VB批量生成 Word报告”
中的方法将该内容替换即可。但是如果我们要替换的内容在 所有的 Word 中都是不一样的,只是位置相同,那我们就不 能简单的替换了。比如在一些理财公司的报告中,本来联系 方式那里留的是理财经理的电话,现在想要将理财经理电话 替换成公司的电话,由于每个理财经理电话不一样,所以也 就不能找到内容然后替换了。前面说过位置是一样的,所以 我们这里就先找电话所在的位置,之后再替换。
看下面的例子,还是我们之前用过的那个理财公司的月度报 告,现在要将其替换成我的 QQ449217002 ,这里提供两种 思路。思路一是找到“联系电话:”这几个字然后将向后数 11
位的内容替换掉,因为电话都是 11 位的,所以这种方法是 可行的。代码如下
Sub TEST1()
Dim mypath, myfile, wApp, myrange mypath = ThisWorkbook.Path amp; \ myfile = Dir(mypath amp; *.docx)
Do While myfile lt;gt;
Set wApp = CreateObject(word.application) wApp.documents.Open mypath amp; myfile
Set myrange = wApp.activedocument.Content
myrange.Find.Execute findtext:= 联系电话 :, 从 myrange 结束的到 myrange 后面的 11 个字符替换成相 应内容
Forward:=Truemyrange
Forward:=True
myrange 定位到“联系电话:”
wApp.activedocument.Range(Start:=myrange.End,
End:=myrange.End + 11).Text = 449217002@ wApp.activedocument.Save wApp.Quit myfile = Dir
Loop
Set wApp = Nothing
End Sub
思路很简单,找到位置并替换该位置后面相应长度的内容即 可。但是如果我们要替换的内容位置虽然一样,但是其长度
并不相同呢?比如原来留的是 QQ 号,有的是 11 位,有的 是 8 位,现在想要统一成我的 QQ449217002 ,这下不能替 换固定长度了。好办,我们只要替换相应内容之间夹的那部 门就可以了,这里就替换“联系电话:”和“,有任何问题请” 之间的内容,这就是思路二。看代码
Sub TEST2()
Dim mypath, myfile, wApp, myrange1, myrange2, i, j mypath = ThisWorkbook.Path amp; \ myfile = Dir(mypath amp; *.docx)
Do While myfile lt;gt;
Set wApp = CreateObject(word.application) wApp.documents.Open mypath amp; myfile
Set myrange1 = wApp.activedocument.Content myrange1.Find.Execute findtext:= 联系电话 :,
Forward:=True
i =
i = myrange1.End
记录下起始位置
Set myrange2 = wApp.activedocument.Content myrange2.Find.Execute findtext:= ,有任何问题请 ,
Forward:=True j = myrange2.Start wApp.activedocument.Range(Start:=i, End:=j).Text =
449217002@
449217002@ 替换两个位置之间的内容
wApp.activedocument.Save wApp.Quit myfile = Dir
Loop
Set wApp = Nothing
End Sub
这里只不过是先将起始位置和结束位置提前取出来而已,其 实两个思路并无太大区别,第二个思路适用更广
您可能关注的文档
最近下载
- 人教版九年级数学下册2026年春季学期教学工作计划与教学进度表 (最新教材).docx
- T_CACM 1649—2025(支气管扩张症中西医结合诊疗指南).pdf
- 第六届福建省综合气象业务职业技能竞赛【决赛】理论考试题库-上(单选题部分).docx VIP
- 标准图集-07MS101 市政给水管道工程及附属设施.pdf VIP
- 2024年国网四川省电力公司招聘考试真题.pdf VIP
- 【2026年春新教材】部编版小学二年级下册道德与法治全册教案(教学设计).pdf
- 数学思政课教学案例.docx VIP
- 2024-2025学年广东省东莞市东华高级中学、东华松山湖高级中学高一下学期学习效率检测(一)数学试卷(含答案).docx VIP
- (高清版)DB12∕T 1115-2021 泵站工程运行管理规程.pdf VIP
- DB3305_T276-2023_生态联勤警务站建设与管理规范_湖州市 .docx VIP
原创力文档

文档评论(0)