仝海燕,吕洪善,秦春影,贾爽
(1.亳州师范高等专科学校理化系;2.亳州职业技术学院电子与电气工程系,安徽亳州236800)
基于VBA的交互性习题的设计
仝海燕1,吕洪善2,秦春影1,贾爽1
(1.亳州师范高等专科学校理化系;2.亳州职业技术学院电子与电气工程系,安徽亳州236800)
当前,大部分课件制作者都是利用自定义动画和触发器制作,很少有人用VBA控件实现具有交互性的习题. VBA作为O ffice系列软件的二次开发和扩展工具,在课件制作中能够起到很好的辅助作用.以单项选择题为例,分析了在PowerPoint课件中具有交互性的习题设计方法,指出了在习题数量较少和较多的情况下,如何使用VBA编程语言和Access数据库相关技术制作符合学习认知规律、自主选择、交互性更好的习题.
VBA编程;课件;VB控件;Access数据库;认知
随着信息技术的不断发展,很多学校都引进了大量的多媒体教学设施,有效的利用这些多媒体设施可以很好的提高教学质量.要充分的利用这些设施,教师就要在教学中根据具体授课情况制作符合学生认知的课件.目前,制作课件的工具有很多,如Authorware、Flash、PowerPoint等软件都可以实现课件的制作.相比较而言,PowerPoint软件具有使用简单,易学易用,兼容性好等优点,在实际课件制作中,深受广大使用者的欢迎.
有些人认为,利用PowerPoint制作交互性习题时,没有其他软件制作的效果明显.也有些教师为方便起见,直接将题目和答题选项输入在幻灯片上,只是将答案用不同的颜色表示,忽视了习题的交互性.另外,有些教师为了加上一些交互效果,大多采用自定义动画和触发器的方法来实现习题的交互.这两种方式,虽在一定程度上实现了交互,但对学生在课下自主学习的时候,就不能自主的按照认知规律进行相应的选择或输入相应的答案,交互效果不能起到很好的作用.在PowerPoint课件中,要制作具有交互性好的习题,可以利用Office自带的VBA工具来实现.以单项选择题为例,探讨利用VBA工具和Access的相关技术,实现交互性更好、更符合学生自主选择和认知规律的习题设计方法.
1.1 VBA简介
VBA是Visual Basic for Application的缩写,是微软开发的一种应用程序共享的自动化编程语言,用于Office系列软件功能的二次开发和扩展,被内置在Office系列软件中.用户利用VBA技术可以极大的增加Office系列软件的交互性.它与VB的开发环境相似,不同之处是VB程序可以独立运行,而VBA必须依赖于相应的应用程序[1].
1.2 VBA编程环境的进入
首先,启动PowerPoint 2010,建立一张幻灯片,为了编辑的直观性,可以将该幻灯片的版式设置为空白版式.
其次,将"开发工具"选项卡显示出来,VBA的相关按钮在"开发工具"选项卡中,而默认情况下,该选项卡是不显示的.
显示"开发工具"选项卡的方法:单击PowerPoint2010"文件"菜单,选择"选项"命令,在出现的对话框的左侧列表中选择"自定义功能区",在右侧"主选项卡"中将"开发工具"前面的复选框选中,然后单击"确定",即可在PowerPoint的选项卡中显示"开发工具"选项卡.
最后,单击"开发工具"选项卡,利用其相应功能区的相关按钮即可进入VBA的编辑环境.
以单选题为例,阐述利用VBA实现题量少与多时,具有较好交互性的习题设计方法.
2.1 题量不多时的设计方法
如果制作的习题数量不多,可以利用VBA的相关控件直接将题目制作在幻灯片中.例如,实现如图1所示的选择题效果.
图1 单选题效果图
用户可以根据自己的想法进行自主的选择答案,想核对选择的正确与否可以单击"查看答案"按钮,屏幕出现相应的答案,再在答案上单击一下鼠标,答案隐藏起来.
具体实现步骤如下:
第一,在课件的某张幻灯片上输入相应的标题和具体的题目.
第二,利用VBA控件中的单选按钮制作答案选项,详细设计为:选择"开发工具"选项卡中"控件功能区"的"单选按钮"控件,题目的下方制作单元按钮.选中刚制作的单选按钮控件,然后选择"控件"功能区中的"属性"按钮,打开"属性"窗口,设置该按钮的"caption"属性为相应的答案数据.按照类似的方法,制作其他选项的单选按钮,并修改相应的属性值.制作好4个单选按钮后,按住Shift依此将这四个单选按钮选中,利用"开始"选项卡的"绘图"功能区的"排列"功能,设置其对齐方式,使界面更加美观些.
第三,利用"控件"功能区的"命令按钮"制作"查看答案"按钮.在题目选项的下方制作命令按钮,并设置属性如图2(左)所示.
第四,利用"控件"功能区的"标签"控件,在"查看答案"按钮的右侧制作文字标签控件,用来显示参考答案.设置属性值如图2(右)所示.
第五,在幻灯片中双击"查看答案",进入其代码编辑界面,输入代码: LabelDa.Caption="答案为:"+"A".双击"标签"控件,进入其代码编辑界面,输入代码:
图2 "查看答案"按钮的属性值(左)和"标签"的属性值(右)
LabelDa.Caption="".
按照上面描述的方法,在幻灯片上制作其他的选择题目即可.
2.2 题量较多时的设计方法
如果题目数量较多时,采用上述方法则工作量太大,制作过程比较麻烦.为解决此问题,可以将VBA技术和Access数据库技术相结合,来制作题量大、交互性好且易于管理的习题.
2.2.1 VBA与Access数据库的连接
VBA与数据库的连接一般采用ADO方式,ADO是目前通用的数据库访问技术.在连接数据库时要用到Connection、Recordset对象.
(1)Connection:建立应用程序与数据源的连接.只有连接成功后,Recordset对象才能访问某个数据库. (2)Recordset:执行数据访问或SQL命令得到动态记录集,它被缓存在内存中[2].
2.2.2 题量多时的设计方法
对于习题量大的情况,可以利用Access制作相应的习题库.下面以单选题为例,来说明利用VBA和数据库技术实现多题量的设计方法.
在幻灯片中单击"单项选择题练习"按钮,进入如图3(左)所示的做题欢迎界面.单击"开始练习"按钮,即可进入做题界面(图3右)
图3 习题初始界面(左)和做题界面(右)
开始做题时,"上一题"按钮处于灰色不可用状态,到最后一题时,"下一题"按钮处于灰色不可用状态,其他情况下均可用.做题过程中可以随时通过单击"结束"按钮和"查看答案"按钮结束做题或查看答案.
利用这种方法设计的习题,交互性比较好,学生可以自主的进行相应的选择,更加符合学生的认知心理,且题库管理也非常容易.
(1)制作习题库
将题目信息利用Access软件制作成题库文件.本例中题库文件名为xtk.mdb,保存在D盘的根目录中.该数据库中设计一张表xt用来存储习题的具体信息,结构设计如图4所示.习题库中包含timu、dA、dB、dC、dD和answer六个字段,分别表示题目的描述、四个答案选项和参考答案.
(2)制作习题的布局界面
1)制作欢迎界面
图4 习题库信息
在PPT编辑环境中,选择"开发工具"选项卡中的"代码"功能区中的"Visual Basic"按钮,进入VBA的编程环境.在编程环境中,选择"插入"菜单中的"用户窗体"命令,则在VBA的编辑环境中插入一个窗体UserForm1.选中该窗体,选择常用工具栏中的"属性窗口"按钮,将其"名称"属性设置为XY,"caption"属性设置为空,其他默认.
选择常用工具栏中的"工具箱"按钮,在窗体XY中制作一个文字标签控件和一个按钮控件,分别设置这两个控件的属性.
2)制作习题界面
利用(1)中介绍的方法,制作习题窗体,设置"名称"属性为UserFormXZT,"Caption"属性为"单项选择题".
在窗体UserFormXZT中插入1个标签控件(其"名称"属性设置为LabelTM,"Caption"属性为空)用来显示题目描述,4个单选按钮控件和相应的四个文字标签控件(单选按钮控件"Caption"属性设置为空,其他默认,文字标签控件属性的名称分别设置为LabelDaA、LabelDaB、LabelDaC、LabelDaD,"Caption"属性均为空)用来显示答题信息,4个命令按钮用来制作"查看答案"、"上一题"、"下一题"和"结束"按钮,"查看答案"按钮右侧插入1个文字标签控件,用来显示具体的答案.这4个按钮及标签控件的的"名称"属性分别设置为ButtonCKDA、ButtonSYT、ButtonXYT、ButtonJS和LabelCKDA,"Caption"属性分别设置为"查看答案"、"上一题"、"下一题"、"结束"和"空".将相应的控件按照效果图进行排列,布局好其相应位置.
3)利用VBA实现各控件相应的功能
要实现VBA与Access题库的连接,在打开Visual Basic编辑器上,执行"工具"菜单项下的"引用"命令,激活"引用"对话框,从打开的"引用"列表中选择"Microsoft ActiveX Data Objects 2.8 Library"一项,然后单击"确定"按钮,把它引用到PowerPoint幻灯片中[3].
在VBA开发环境的左侧,双击XY窗体,打开其对象编辑窗口,再双击"开始练习"按钮,进入代码编辑窗口,输入代码:
XY.Hide
UserFormXZT.Show.
双击UserFormXZT窗体,选择"视图"菜单中的"代码窗口"切换到该窗体的代码编辑界面.
在该界面的最前面,设置变量:
Dim sn As ADODB.Recordset
Dim cn As ADODB.Connection
Dim rownum As Integer,CurrentRow As Integer,CurrentNum As Integer
Dim XT_Array(100,5)As String.
在窗体UserFormXZT的Initialize过程中输入代码:
ButtonST.Enabled=False
Dim constring As String
Set sn=New ADODB.Recordset
Set cn=New ADODB.Connection
constring="provider=microsoft.jet.OLEDB.4.0;"&"data source="&"d:xtk.mdb"
cn.Open constring
sn.Open"xt",cn,adOpenStatic
CurrentRow=1
With sn
DoWhile Not.EOF
XT_Array(CurrentRow,0)=sn.Fields(0)
XT_Array(CurrentRow,1)=sn.Fields(1)
XT_Array(CurrentRow,2)=sn.Fields(2)
XT_Array(CurrentRow,3)=sn.Fields(3)
XT_Array(CurrentRow,4)=sn.Fields(4)
XT_Array(CurrentRow,5)=sn.Fields(5)
CurrentRow=CurrentRow+1
.MoveNext
Loop
rownum=CurrentRow-1
End With
CurrentNum=1
LabelTM.Caption=XT_Array(CurrentNum,0)
LabelDaA.Caption=XT_Array(CurrentNum,1)
LabelDaB.Caption=XT_Array(CurrentNum,2)
LabelDaC.Caption=XT_Array(CurrentNum,3)
LabelDaD.Caption=XT_Array(CurrentNum,4).
在"下一题"按钮的代码窗口中代码:
Private Sub ButtonXT_Click()
LabelCKDA.Caption=""
ButtonST.Enabled=True
CurrentNum=CurrentNum+1
If CurrentNum=rownum Then ButtonXT.Enabled=False
…
End Sub.
"上一题"按钮的代码窗口中,代码:
Private Sub ButtonST_Click()
LabelCKDA.Caption=""
ButtonXT.Enabled=True
CurrentNum=CurrentNum-1
If CurrentNum<=1 Then ButtonST.Enabled=False
…
End Sub.
其中"…"处的代码同Initialize过程的最后5行.
在"结束"按钮的代码窗口中输入代码:
UserFormXZT.Hide.
"查看答案"按钮的代码窗口中输入代码
LabelCKDA.Caption="答案为:"+XT_Array(CurrentNum,5).
最后,在PowerPoint制作的课件幻灯片中制作一个"命令按钮"控件,设置其名称属性为DXLX,caption属性为"单项选择题练习",其他属性默认.双击该按钮,在其代码窗口中输入代码:
XY.Show.
注意:要在幻灯片中运行VBA开发的代码,必须将PowerPoint文件保存为"启用宏的演示文稿"类型.在放映幻灯片中,单击"单项选择题练习"按钮即可进入相应的界面.
VBA是为Office设计的,作为Office软件之一的PowerPoint,如果在使用PowerPoint制作课件时,如果能与VBA编程相结合[4],充分的利用VBA工具,可以使制作出的课件的交互功能得到大大的增强[5].文中介绍的利用VBA和数据库技术针对题量多的情况下做的习题设计,具有易于管理、交互性好的特点,更加符合使用者的认知学习.
[1]郭红.基于VBA技术的CAI课件制作[J].华北科技学院学报,2007,4(3):92-95.
[2]党小云.于卫红.VBA在多媒体课件中的应用[J].电脑编程技巧与维护,2012(2):130-132.
[3]颜清.PowerPoint课件中基于VBA的习题设计[J].计算机与现代化,2006(2):80-84
[4]李文江.VBA在PowerPoint课件中的应用[J].重庆文理学院学报:自然科学版,2006,5(1):27-29.
[5]程昌品.VBA在课件交互设计中的应用[J].电脑学习,2005(1):25-26.
On the design of interactive exercises based on VBA
TONGHai-yan1,LV Hong-shan2,QIN Chun-ying1,JIA Shuang1
(1.Physical and Chemical Department,Bozhou Teachers College;2.Electrical and Electronic Engineering Department,Bozhou Vocational and Technical College,Bozhou 236800,Anhui,China)
At present,most courseware producers use the custom animation and flips flops,but few people use the VBA controls,to carry out active exercises.VBA as the two developments and expansion tool of office series software can play a good supporting role in making courseware.As an example to the single item choice,the paper analyses the design method of interactive exercises in PowerPoint courseware,in the exercise of fewer and more cases,and points out how to use the VBA programming language and Access database technology tomake more interactive exercises in line with the cognitive laws,self-selection and interactive principles.
VBA programming;courseware;VB controls;Access database;cognition
TP311
:A
:1007-5348(2014)06-0024-06
(责任编辑:欧恺)
2014-04-27
2013安徽省高校省级优秀青年人才基金重点项目(2013SQRL127ZD);2013安徽省高等教育振兴计划项目(2013cgtg040).
仝海燕(1979-),女,安徽砀山人,亳州师范高等专科学校理化系讲师,硕士,主要从事软件测试、模式识别与智能系统的研究.