Word VBA如何实现有规律的批量查找替换

比如文章里面有3.1.1-1、3.1.1-2一直到3.1.1-100,但是其中3.1.1-50不想要了,想实现3.1.1-51以后替换成3.1.1-50,每个减少1,比如3.1.1-55变成3.1.1-54。。请问如何实现?
我自己试出来了……比较傻的办法,感谢二楼的给的启发!
Sub Change()
For i = 51 To 100
With ActiveDocument.Content.Find
.Text = "3.3.1-" & i
With .Replacement
.Text = "3.3.1-" & i - 1
End With
.Execute Replace:=wdReplaceAll
End With
Next
End Sub

第1个回答  2021-02-14

在我们日常工作和日常学习中,有时候需要将一些Word 文件进行压缩,如何做到呢?我们可以使用[风云压缩]完成。一起来看下具体步骤吧!

第2个回答  2014-04-24
何必使用vba,如果编号是自动生成的,删除3.1.1-50后,后边的会自动更新。
第3个回答  2014-04-24
Sub QY()
'
' 宏在 2014-4-24 由 QY
'
x = "3.1.1-51"
y = "3.1.1-50"

Selection.Find.ClearFormatting
For i = 1 To 50
With Selection.Find
.text = x
.Replacement.text = y
.Forward = True
End With
Selection.Find.Execute Replace:=wdReplaceOne
Selection.MoveRight Unit:=wdCharacter, Count:=1
y = x
x = "3.1.1-" & Val(Right(x, 2)) + 1
Next
End Sub本回答被提问者采纳
相似回答