批量修改word文档标题段落的样式

上面只是一个示例,实际拿到的文章可能会很长,标题段落也很多。类似于上面的文档“一、”、“二、”和“(一)”这样的段落如果被分别赋予了类似于“标题一”、“标题二”这样的具有大纲层次结构的样式,就可以在导航窗格中快速跳转到所需的文档内容,更重要的是可以很轻松的统一文档中各级别标题的格式。

拿到这样的文档,我通常做的第一件事是将各标题段落赋予样式。这需要使用word的查找替换功能。但是目前版本的word查找替换功能在使用通配符时没有匹配段落开头的特殊字符,所以,要选择例如上面示例中的“一、something”这个段落需要费一定的心思。

首先,不建议简单用正则表达式“[一二三四五六七八九十]{1,}、[!^13]{1,}^13”来匹配,因为如果某个非标题段落中出现“一、”这样的文字,这个段落从“一、”至段落末尾都会被匹配上(如下图所示),显然这不是我们想要的。

其次,用正则表达式“^13[一二三四五六七八九十]{1,}、[!^13]{1,}^13”可以匹配到我们想要的段落,但是如果在“替换为”文本框中指定样式,则标题段落及上面的那个段落(第一个^13匹配的就是上一个段落最后一个字符)都会被指定同样的样式(如下图所示),这也不是我们想要的。

因此,最佳做法是分两个步骤来做,第一个步骤在标题段落前加上一个文档中没出现的字符作为标题段落开头的标记,第二步再将标题段落应用样式并丢弃段落开头标记。以上面的示例文档为例,将所有汉字序 加顿 开头的段落应用样式“标题一”可以考虑这样操作:

步骤一:

经过上面的操作,按下全部替换后文档内容成了下面这个样子:

 可以发现“一、”和“二、”开头的段落前面分别多了个“#” (要注意这个“#” 如果在文档中其他地方曾经出现过,就不能用,要选用文档中绝对没有出现过的字符,例如某个冷僻汉字都可以。可以先用查找功能检查一下这个字符是不是在文档中可以找到,可以找到就要更换),而段落中间的“一、”前面则没有添加。

步骤二:

 经过上一步操作,文档内容变成下面的样子:

可以看到相关段落已经应用了“标题一”样式,先前添加的“#” 也已经丢弃了。类似可以继续处理下一级标题。对于那些标题段落以“第一章”、“第10节”之类开头的的文章,想必聪明的读者无需我多说该怎么修改查找内容栏的正则表达式了。

最后顺便说一下,示例文章中的“扥”(音den,4声)就是一个几乎用不到的汉字,可以用来做段落开头的标记。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月6日
下一篇 2022年3月6日

相关推荐