Word给自动生成的目录页码添加括号(打印或打印预览时保持修改效果)

您所在的位置:网站首页 word目录页码不带横线 Word给自动生成的目录页码添加括号(打印或打印预览时保持修改效果)

Word给自动生成的目录页码添加括号(打印或打印预览时保持修改效果)

2023-12-12 13:44| 来源: 网络整理| 查看: 265

一些学校的毕业论文格式要求中,要求目录的页码需要加括号,而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

另外,由于word在进行打印打印预览的时候会先做一次页码链接,这个时候会将前面修改页码的格式搞没掉。也就是说前面弄的那些东西会在点击打印或者打印预览的时候被清除,就像什么都没发生过一样。

为了解决这个问题,可以选中目录,然后按下“ctrl+shift+F9”来取消目录文字和页码的链接,这个时候再点击打印预览就不会再出现问题了。然而,会出现目录文字被加上下划线和变色的新问题。。。把下划线双击点掉,然后把文字颜色改成自动即可。这部分也可以使用宏代码来实现,后面有心情的话补上。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3