论文部分内容阅读
题型与相应控件的选择
自测练习一般分为客观题和主观题,其中,客观题比较流行的形式为:是非题、单选题、多选题……;主观题的主要形式为问答题。视答案字符多少,填空题既可以为客观题,也可以为主观题。
客观题中的是非题与单选题常采用“选项按钮(OptionButton)”控件实现,多选题则常采用“复选框(CheckBox)”控件实现,“题干”一般均在文档中输入,“选项文本”内容及值可以通过VBA程序或“属性”对话框设置其“Caption”和“Value”属性参数。一般说来,每道“是非题”都含有两个“选项按钮”,每道“单选题”或“多选题”一般含有四个(或更多)“选项按钮”或“复选框”。
在我们提供的自测练习交互文档中,为了有效减少客观题的控件数量,我们每题均用一个“组合框(ComBox)”代替多个“选项按钮”;主观题则均采用“文本框”控件放置“回答”和“参考答案”。
各题“题干”均在文档中输入,为方便输入与编辑修改,客观题的“选项文本”和主观题的“参考答案”均通过Microsoft Office Spreadsheet 11.0控件数据源(DataList)嵌入文档。
单个“组合框”控件的基本赋值方法
以自测练习中第1道单选题为例,对组合框选项赋值的基本方法如下。
cBox_Answer1_1.AddItem "A) Internet是国际计算机互联网"
cBox_Answer1_1.AddItem "B) Internet是计算机网络的网络"
cBox_Answer1_1.AddItem "C) Internet提供了多种应用信息网络服务系统"
cBox_Answer1_1.AddItem "D) Internet就是万维网(WWW)+电子邮件+文件传送+实时对话(如QQ和MSN)等服务"
当把空白内容和上述四个选项顺序存放到DataList的数据源的B2:F2区域中,采用qOption(1 To 5)数组,则可把对单个组合框的赋值方法调整如下。
For i = 1 To 5
qOption1(i) = DataList.Cells(2, i 1).Value
Next i
cBox_Answer1_1.List() = qOption1()
一组“组合框”控件的循环操作
对一组“组合框”控件循环操作(如对单选题第1~14题各组合框选项的赋值或清除答案)是常见而有用的操作。在编制“Private Sub initCtrlArray()控件信息数组的初始化进程”(参见本期主文章㈢,分别用数组ArrCtrlIndex和ArrCtrlName存放控件索引和控件名称)和“Private Function getCtrlObject(CtrlName As String) As Object获取控件对象的带自变量的函数”(见本期主文章㈣)之后,我们就能比较容易地实现循环操作。
由于我们已经把空白内容和14道题的4个选项顺序存放到DataList的数据源的B2:F15区域中,于是,对“单选题”第1~14小题的选项赋值代码如下。
Private Sub Document_Open() ’打开文档时执行的进程
initCtrlArray ’控件数组初始化
’一、单选题第1~14题的组合框选项数据设置
For i = 1 To 14
’循环设置单选题第1~14题的组合框对象选项
Set CtrlObj = getCtrlObject("cBox_Answer1_"
自测练习一般分为客观题和主观题,其中,客观题比较流行的形式为:是非题、单选题、多选题……;主观题的主要形式为问答题。视答案字符多少,填空题既可以为客观题,也可以为主观题。
客观题中的是非题与单选题常采用“选项按钮(OptionButton)”控件实现,多选题则常采用“复选框(CheckBox)”控件实现,“题干”一般均在文档中输入,“选项文本”内容及值可以通过VBA程序或“属性”对话框设置其“Caption”和“Value”属性参数。一般说来,每道“是非题”都含有两个“选项按钮”,每道“单选题”或“多选题”一般含有四个(或更多)“选项按钮”或“复选框”。
在我们提供的自测练习交互文档中,为了有效减少客观题的控件数量,我们每题均用一个“组合框(ComBox)”代替多个“选项按钮”;主观题则均采用“文本框”控件放置“回答”和“参考答案”。
各题“题干”均在文档中输入,为方便输入与编辑修改,客观题的“选项文本”和主观题的“参考答案”均通过Microsoft Office Spreadsheet 11.0控件数据源(DataList)嵌入文档。
单个“组合框”控件的基本赋值方法
以自测练习中第1道单选题为例,对组合框选项赋值的基本方法如下。
cBox_Answer1_1.AddItem "A) Internet是国际计算机互联网"
cBox_Answer1_1.AddItem "B) Internet是计算机网络的网络"
cBox_Answer1_1.AddItem "C) Internet提供了多种应用信息网络服务系统"
cBox_Answer1_1.AddItem "D) Internet就是万维网(WWW)+电子邮件+文件传送+实时对话(如QQ和MSN)等服务"
当把空白内容和上述四个选项顺序存放到DataList的数据源的B2:F2区域中,采用qOption(1 To 5)数组,则可把对单个组合框的赋值方法调整如下。
For i = 1 To 5
qOption1(i) = DataList.Cells(2, i 1).Value
Next i
cBox_Answer1_1.List() = qOption1()
一组“组合框”控件的循环操作
对一组“组合框”控件循环操作(如对单选题第1~14题各组合框选项的赋值或清除答案)是常见而有用的操作。在编制“Private Sub initCtrlArray()控件信息数组的初始化进程”(参见本期主文章㈢,分别用数组ArrCtrlIndex和ArrCtrlName存放控件索引和控件名称)和“Private Function getCtrlObject(CtrlName As String) As Object获取控件对象的带自变量的函数”(见本期主文章㈣)之后,我们就能比较容易地实现循环操作。
由于我们已经把空白内容和14道题的4个选项顺序存放到DataList的数据源的B2:F15区域中,于是,对“单选题”第1~14小题的选项赋值代码如下。
Private Sub Document_Open() ’打开文档时执行的进程
initCtrlArray ’控件数组初始化
’一、单选题第1~14题的组合框选项数据设置
For i = 1 To 14
’循环设置单选题第1~14题的组合框对象选项
Set CtrlObj = getCtrlObject("cBox_Answer1_"