随着信息技术的不断普及,许多学校实现了无纸化考试,教师将收集的试题输入数据库,考试时从数据库中随机抽取试题生成试卷,学生可在计算机上直接答题。这种新型的考试方式大大提高了工作效率。
一般来说,题库中的试题大多要求用数据库格式录入,而平时教师们写教案、出试卷都是用Word,对VFP、Access、Excel等用得较少。况且,用数据库格式录入试卷也不是很方便。这就产生了一个问题,如何将用Word方式录入的试题(本文以选择题为例)转换为Excel电子表格或DBF文件格式呢?
思路分析
对于把有分隔字符(该符号用来分隔每个字段)的文本文件转换为Excel电子表格,大家可能都比较熟悉。因此只要将以Word方式录入的选择题转换为有分隔字符的文本文件就大功告成了。可见,此步骤是关键一步。如图1是以Word方式录入的选择题,如图2是将图1转换后的Excel数据库格式。从图2中可以看到,一道题包括题干及四个选项,题干及选项分属不同字段,题与题之间用段落符分隔(即分行),题干与各选项间用分隔字符分列。了解上述思路后,我们就可以进行转换了。
![1155453906_ddvip_7960.jpg](images/dd/1155453906_ddvip_7960.jpg)
图1 Word中的题目
问题解决
1.设立分隔字符,将文档保存为纯文本文件
由于文档输入的格式有所不同,如图1所示第一题中各选项间有空格,这里还需去除选项间的空格。打开“查找与替换”对话框,在查找内容栏输入“^w ”(“^w”为空格标志符,点击“高级→特殊字符”即可找到),替换栏为空白,点击[全部替换]按钮,这样就删除了文本中的空白区域。按照题干与各选项间用分隔字符分列的思路,我们分别在题干与选项A、选项A与选项B、选项B与选项C、选项C与选项D间设立分隔字符,分隔字符一定要是特殊符号且文档中所没有的,本文以“@”为例。
![1155453912_ddvip_2351.jpg](images/dd/1155453912_ddvip_2351.jpg)
图2 Excel中的题目
具体方法如下:打开图1所示的文档,复制“A、”,执行“编辑→替换”命令,将光标停放在查找栏,按下“Ctrl+V”键,在查找栏输入“A、” 。在替换栏中输入 “@ A、”,点击[全部替换]按钮,这样文中所有的选项“A、”被替换成了“@ A、”,同样,将“B、”替换成“@ B、”,将“C、”替换成“@C、”,将“D、”替换成“@D、”。由于图1第二题中选项间有段落符标志,需要去除选项间的段落标志符,在“查找与替换”对话框中,将“^p@”替换为“@”(“^p”为段落标志符,点击[特殊字符]按钮即可找到),去掉“@”字符前的所有段落标志符。最后结果如图3,然后将该文档另存为纯文本文件。
![1155453921_ddvip_7832.jpg](images/dd/1155453921_ddvip_7832.jpg)
图3 加入分隔符的文本文件
2.将纯文本文件转换为Excel电子表格
在Excel空白文档中,执行“文件→打开”命令,打开刚才保存的纯文本文件,出现如图4所示对话框,选中“分隔符号”,然后单击[下一步]。在如图5所示的对话框中,选中“其他”复选框,然后输入字符“@”,单击[下一步],最后点击[完成]。这样,就将文本文档转换成了Excel数据表格。
![1155453930_ddvip_4911.jpg](images/dd/1155453930_ddvip_4911.jpg)
图4 选中“分隔符号”
这时转换的数据格式还不是十分理想,还需要对Excel数据表格进行单元格格式设置。首先手工调整各列的适当列宽。选中整个数据,然后点击“格式→单元格”,打开“单元格格式”对话框,单击“对齐”选项卡,选中“自动换行”复选框,在“垂直对齐”下拉菜单中选择“居中”,按下[确定]按钮。最后执行“格式→行→最适合的行高”命令,文档就自动对得整整齐齐了,效果如图2。
![1155453936_ddvip_7016.jpg](images/dd/1155453936_ddvip_7016.jpg)
图5 选中“其他”复选框
小结
1. 本例是将Word中录入的选择题转换为Excel电子表格,利用Excel的导出功能可以很轻松地将Excel表格转换为Access及DBF文件等。
2. 以Word方式录入的选择题尽管格式各不相同,但在转换时只要把握两条原则:
(1)题干与各选项间排列紧凑并用分隔字符分列。
(2)题与题之间用段落符分行,然后进行巧妙替换。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-954913/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10752019/viewspace-954913/