案例:有一员工报名电工考试后,获得了 3套题库(2个word,1个excel),打开格式如下??3套题目中有50%以上的题目是重复的??为了提高复习效率,现要求将三套题目合并并将重复的题目删除,保留唯一的题目??
实现思路如下:
1、 合并文档:新建word文档,将几个word文档内容导入进来(插入—>对象—>文件中的文字)??然后复制excel中的内容,粘到word文档时选择只粘贴文本??这样所有内容合并到了一块合计535页
2、 删除空格,CTRL H替换“”为“”;
3、中英文标点符号批量转换:
方法①单个标点依次替换:CTRL H 替换“,”为“,”;替换“:”为“:”;替换“(”为“(”等;
SubToggleInterpunction() ‘中英文标点互换
DimChineseInterpunction() As Variant, EnglishInterpunction() As Variant
DimmyArray1() As Variant, myArray2() As Variant, strFind As String, strRep As String
DimmsgResult As VbMsgBoxResult, N As Byte
‘定义一个中文标点的数组对象
ChineseInterpunction= Array(”、“, “。“, “,“, “;“, “:“, “?“, “!“, “…………“, “-“, “~“, “(“, “)“, “《“, “》“)
‘定义一个英文标点的数组对象
EnglishInterpunction= Array(”、“, “。“, “,“, “;“, “:“, “?“, “!“, “……“, “-“, “~“, “(“, “)“, “《“, “》“)
‘提示用户交互的MSGBOX对话框
msgResult= MsgBox(”您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!“, vbYesNoCancel)
SelectCase msgResult
CasevbCancel
Exit Sub’如果用户选择了取消按钮,则退出程序运行
CasevbYes ‘如果用户选择了YES,则将中文标点转换为英文标点
myArray1= ChineseInterpunction
myArray2= EnglishInterpunction
strFind =“““(*)“““
strRep = “““\1“““
Case vbNo’如果用户选择了NO,则将英文标点转换为中文标点
myArray1= EnglishInterpunction
myArray2= ChineseInterpunction
strFind =“““(*)“““
strRep = “““\1“““
EndSelect
Application。ScreenUpdating = False ‘关闭屏幕更新
For N = 0To UBound(ChineseInterpunction) ‘从数组的下标到上标间作一个循环
WithActiveDocument。Content。Find
。ClearFormatting ‘不限定查找格式
。MatchWildcards = False ‘不使用通配符
‘查找相应的英文标点,替换为对应的中文标点
。Execute findtext:=myArray1(N), replacewith:=myArray2(N), Replace:=wdReplaceAll
End With
Next
WithActiveDocument。Content。Find
。ClearFormatting ‘不限定查找格式
。MatchWildcards = True ‘使用通配符
。Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll
End With
Application。ScreenUpdating = True ‘恢复屏幕更新
End Sub
4、删除判断的选项“对,错”,替换“^p对^p错”为“”;
5、 删除空行:CTRL H 替换“^p^p”为“^p”,多替换几次到没有多余行为止;
6、 将题目与答案变为一行:替换“^p正确答案”为“正确答案”;
7、 将选项A,B,C统一并与题目变为一行:①替换”^p A:^p”为”A、”, 替换”^p B:”为”B、”,替换”^p C:”为”C、”;②替换”^p A、”为”A、” ”^pB、”为”B、” ”^p C、”为”C、”;
8、 将每题前面的题号删除,因题号最大不超过3位数:CTRL H—>替换” ^p^#^#^#、”为“^p” 替换” ^p^#^#、”为“^p” 替换” ^p^#、”为“^p”;
9、 确认每题占一行后将内容复制粘贴到(匹配目标格式)excel中;
10、在excel中选中数据列,数据—>删除重复项,整理格式即可得到不重复的数据 ;
11、得到不重复得数据后,可以用替换分列的方法 word替换的方法整理成想要的格式;
12、如果经常用到,可以将上述步骤录制成宏,每次相似数据整理的时候调用一下就能得到自己想要的数据。
本文章主要提供一种思路,word的替换功能与excel合并使用会发挥意想不到的效果,具体数据整理时根据相应内容的格式替换整理即可。