Word给⾃动⽣成的⽬录页码添加括号
Word给⾃动⽣成的⽬录页码添加括号
⼀些学校的毕业论⽂格式要求中,要求⽬录的页码需要加括号如下:
[外链图⽚转存失败,源站可能有防盗链机制,建议将图⽚保存下来直接上传(img-kW5SI4pw-1582034649079) (C:\Users\weixin\AppData\Roaming\Typora\typora-user-images\image-20200218214156664.png)]
⽽Word⾃动⽣成的⽬录格式中并没有这⼀选项,因此很多⼈是⾃⼰⼿动⼀个⼀个输上去的,要了⽼命。
⽽⽹上也有相关教程,但看来看去原理都是⼀样,并不完美。
我们先来看看现有教程是怎么搞的。
1.选中⽬录内容
2.按ctrl+h,弹出替换框
3.在查内容中填⼊“([0-9]{1,})”,⽽替换内容中填⼊“(\1)“,并且选中“使⽤通配符”选项,如下所⽰:
⼀顿操作后点全部替换,悲剧就出现了:
⽬录中所有的数字全部替换成了带括号的,⽽事实上我们只希望右边那⼀排带括号。
下⾯开始本教程的内容。
1.第⼀步我们完全照抄上⾯的做法,得到上⾯那个悲剧的结果。
2.观察这个结果我们可以发现,右边那串括号的左右均没有字符,因此我们直接将左右有字符的括号全部替换掉,操作同上,只是查内容改成“)(?)”及“(?)(”,替换内容改为“\1”,如下:
分别运⾏后结果如下:
可以看到只剩下左边这个括号是我们不想要的了。
4.这个时候我们再观察可以看到左边这个括号的右边是数字字符,之后是⼀个“.”,因此我们可以将查内容改成“(([0-9]{1,}).”替换内容改为“\1.”,再次替换,就得到完美的结果了
当然这需要四步操作是⽐较烦的事情,有⼈可能觉得还不如直接输⼊⽅便,那我们把上⾯的操作直接写成宏代码,只需要选中⽬录然后点⼀下就搞定,代码如下:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "([0-9]{1,})"
.Replacement.Text = "(\1)"
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
甜蜜告白Selection.Find.ClearFormatting
水垢如何快速去除Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "(?)("
.Replacement.Text = "\1"
.
Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
无法复制粘贴With Selection.Find
.Text = ")(?)"
.Replacement.Text = "\1"
.Forward = True士的部首
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.
MatchAllWordForms = False
.MatchSoundsLike = False
正月初七.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop游戏女名
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "(([0-9]{1,})."
.Replacement.Text = "\1."
.Forward = True
.
Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll, Wrap:=wdFindStop
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论