VBA实现在word中的替换(需用正则)

比如说我要把word文件中的select *换成select row
需要考虑换行的情况,保证换完之后格式不能改变
select
*

你的想法有问题:select *替换成select row后,select后面不管有多少文本都会被替换为row,还用考虑格式吗?
你的问题,可能使用word的替换功能就能实现了,只是在替换内容和替换为里使用正则表达式就可以了。
你可以把文档相关图片传上来,大家帮你看看。追问

我是想把*换成row,但是select和*之间的空格数是不一定的中间也可能存在换行,不知道这样说,你能不能明白。
还有一点,我必须要使用VBA代码来实现!

追答

Sub 宏1()
Dim setStr$

Dim expR As New RegExp
With expR
.Pattern = "(select *)\*"
.MultiLine = True
.Global = True
.IgnoreCase = True
End With

setStr = expR.Replace(Selection.Range.Text, "$1" + "row")
End Sub

Sub 宏2()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "(select[ ]*)\*"
.Replacement.Text = "\1row"
.Forward = True
.Wrap = wdFindAsk
.Wrap = wdFindContinue
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网