如何批量在试卷每道题号前面加上说明文字
下了一份试卷,有30个题目,有选择题,也有主观题,是北京西城区的2020年期末试卷,如何在几秒之内在每道题前面加上说明文字如(北京房山2021期末)呢?这让人一眼就能看到这道题曾经被北京西城区期末考试时使用过,说明本题的质量很高啊!
过去的做法,复制粘贴,手工添加太费精力和时间了,太让人焦虑了。其实有下面两个快捷的方法,可以在几秒钟之内搞定这件事。
先看一看这份文档的原来的效果 :
批量替换操作之前
再看看想要的效果:
批量替换操作之后
方法一:查找替换法
1,查找框写下面的表达式:
(^13)([0-9]{1,}[..、])
2,替换框写下面的表达式:
\1(北京房山2021期末)\2
勾选“使用通配符”,再点击“全部替换”,OK!
解释:
先观察分析要查找的对象。我们要找到数字题目序号,为防止找出题目中的数字,我们必须找到换行符后面的数字。快速查找所有的题号,可能是一位数,也可能是两位三位数,这里只能用通配符。
(一)查找框里的表达式
1,查找换行符用:^13
2,查找任意数字用:[0-9],
“[x-x]”该通配符是用来指定范围内的任意单个字符。
3,表达查找数字题号的个数用花括号:{1,}
这表示至少一个数字,到多不限。由于这份试卷题目最多两位数,也可以写成{1,2}
“{n}”可以用来指定要查找的字符中包含前面的一个字符的个数。
“{x,x}”该通配符是用来指定要查找字符中前一字符数范围。
4,整个查找框为:(^13)([0-9]{1,}[..、])
圆括号()表示分组;中括号[ ]表示查找对象的范围;花括号{ }表示查找对象的个数
(二)替换框里的表达式
1,替换换行符这一组表达式用\1
2,替换数字序号这一组表达式用\2
3,换行符与数字序号之间加的说明性文字为(北京房山2021期末)
4,整个替换框为:\1(北京房山2021期末)\2
字符表达式,该字符表达式分组,每组前用反斜杠 \ 起头。
点击替换,所有题目之前都加上了说明文字:(北京房山2021期末)
如图所示:
方法二:运行宏命令
1,编写宏代码
打开VB编辑器用快捷键 :ALT F11
复制粘贴如下代码:
Sub 添加文字()
With ActiveDocument.Content.Find
.Execute "^13", , , 0, , , , , , "^p", 2
.Execute "^11", , , 0, , , , , , "^p", 2
.Parent.ListFormat.ConvertNumbersToText
.Execute "(^13)([0-9]{1,}[..、])", , , 1, , , , , , "\1(北京房山2021期末)\2", 2
End With
End Sub
2,运行宏命令
要运行代码时,用快捷键打开 :ALT F8
,