基于VBA组卷中自动排版的实现
导读:建立完善的题库是课程建设的一项重要工作,当数据库的形式进行题库管理,通过编写抽题程序,在分类明确、题量丰富的题库支持下,实现自动组卷并非难事。试卷一般都采用Word文档,若采用VBA编程,要用程序将试题写入到Word文档,可以通过引用 Microsoft Word 9.0 Object Library中的相关对象来实现:图片、图形、文本框及艺术字等可利用Shapes集合对象的相应方法加入到文档中!
一、引言
建立完善的题库是课程建设的一项重要工作,当数据库的形式进行题库管理,通过编写抽题程序,在分类明确、题量丰富的题库支持下,实现自动组卷并非难事。试卷一般都采用Word文档,若采用VBA编程,要用程序将试题写入到Word文档,可以通过引用 Microsoft Word 9.0 Object Library中的相关对象来实现:图片、图形、文本框及艺术字等可利用Shapes集合对象的相应方法加入到文档中;表格也可以通过Tables集合对象的Add 方法加入,其大小、位置等排版信息都可以以参数的形式传入;而文字部分的内容也能以字符串的形式通过调用Content对象的InsertAfter方法插入,排版时对其字型、字体、字号及段落格式则可以利用Font对象及Paragraph对象的属性或方式进行设置。
选择题是各类试卷中经常出现的题型,而它的排版有其特殊性,因为选择题的四个选项根据其长度有可能排成四段(行),也可能排成两行,每行两个选项,且它对段落缩进及上、下行中选项的对齐等都有一定的要求。
这里要解决的几个问题是:
1.题干部分的题号对齐,尤其是一位数题号与两位数题号(如第9题与第10题);前、后题题干内容的第一个字符对齐;题干部分作为段落要采用悬挂缩进、且缩进量应合适。
2.若选项由四段(行)构成,则每段应有左缩进、缩进量与题干部分的悬挂缩进量相同,同时,选项内容的长度也有可以超过一行(如第10题中的选项C),所以对选项也要设置悬挂缩进、且缩进量应合适。
3.若选项由两行构成(如第11题中的四个选项),则上一行的选项C与下一行的选项D应对齐。
二、定义选择题的数据结构
程序设计中为了便于将选择题作为函数的参数传递,应定义选择题的数据类型的结构,选择题的结构通常由题干及四个选项构成,具体定义如下:
Public Type Choice
Sentence As String '题干内容,不包括题号
ChoiceA As String '选项A的内容
ChoiceB As String '选项B的内容
ChoiceC As String '选项C的内容
ChoiceD As String '选项D的内容
End Type
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|