论文导读:针对这点,可以利用Powerpoint内置的VBA语言和数据库技术相结合,直接把后台数据库文件中的数据导入到PPT课件中,那么就只需要一张幻灯片就可以达到多张幻灯片的效果,大大简化了制作过程,极大提高工作效率,并且扩展性很强。
关键词:ADO数据库,VBA
1、引言
目前交互性课件在教学中的应用越来越广泛,为教学工作带来了很大的便利。但是要完成由大量交互性幻灯片组成的课件时,如果还是采用逐一完成每一张幻灯片,或者是一个个控件的添加再编程去实现的话,光是内容的录入这一项,工作量就不小,加上还有大量的动画、格式等设置工作,整个制作过程比较繁琐,需要很多的时间。针对这点,可以利用Powerpoint内置的VBA语言和数据库技术相结合,直接把后台数据库文件中的数据导入到PPT课件中,那么就只需要一张幻灯片就可以达到多张幻灯片的效果,大大简化了制作过程,极大提高工作效率,并且扩展性很强。
2、使用VBA和数据库技术制作交互性课件
这里所使用的VBA是新一代标准宏语言,是VB的子集,是一种面向对象,事件驱动的可视化语言,它是Office套装软件的一个十分重要的组件。本文是通过Microsoft的OLEDB技术中的ADO对象来实现数据库连接的。运行Powerpoint 2003后,首先单击“工具/宏/VisualBasic编辑器”进入VBA编辑器,在VBA编辑器中选择“工具/引用”命令,在引用列表中勾选“Microsoft ActiveXData Objects 2.6 Library”(不同环境下ADO的版本号可能不同),这里要用到ADO数据模型中的常用对象Connection,它代表与数据源的连接,在访问数据库时,首先需要创建一个Connection对象,通过它建立到数据库的连接。创建的方法如下:dim cnnas new adodb.connection。科技论文。科技论文。另一个是Recordset对象,它表示来自基本表或命令执行结果的记录全集。使用ADO时,通过Recordset对象可对几乎所有数据进行操作。
下面以制作单选题为例,介绍一下实现的过程。先把数据库文件创建好,这里的数据库文件选择的是微软的ACCESS数据库文件,数据库文件中有一个test表,其实就是一个题库表,如表1,表中的数据就是要出现在课件中的一个个题目。
接着制作幻灯片界面,如图1,打开“控件工具箱”工具栏,把需要的控件一一添加到幻灯片中,在属性对话框中进行属性值的设置。1个标签用来显示题目内容、4个单选按钮显示题目中的各个选项、4个命令按钮,各命令按钮的功能是:“开始”显示第一题,“上一题”和“下一题”就是前进和后退的功能,“查看”是显示正确答案。这里只要针对各个控件编程就可以了。在VBA编辑器中输入以下代码:
首先在通用声明中定义全局变量,可为整个程序的各事件、模块使用:
Dim cnn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim varsource As String
Private Sub CommandButton1_Click() ' 开始按钮
varsource = 'select *from test'
cnn.ConnectionString = 'Provider=Microsoft.jet.oledb.4.0;'_
+ 'data source =g: testacle.mdb'
cnn.Open
Set rs1.ActiveConnection = cnn
rs1.CursorType = adOpenStatic
rs1.Open varsource
Label1.Visible = True
Option1.Visible = True
……
Option4.Visible = True
rs1.MoveFirst
If rs1.BOF <> True Then
Label1.Caption = CStr(rs1.Fields('编号')) & '.'& rs1.Fields('题目')
Option1.Caption = 'A、' & rs1.Fields('选项A')
Option2.Caption = 'B、' & rs1.Fields('选项B')
Option3.Caption = 'C、' & rs1.Fields('选项C')
Option4.Caption = 'D、' & rs1.Fields('选项D')
……
Private Sub CommandButton2_Click() ‘下一题命扭按钮
rs1.MoveNext
If rs1.EOF <> True Then
Label1.Caption = CStr(rs1.Fields('编号')) & '.'& rs1.Fields('题目')
Option1.Caption = 'A、' & rs1.Fields('选项A')
……
CommandButton3.Enabled = True
上一题命扭按钮的单击事件过程和“下一题”类似,区别是往前访问数据记录
Private Sub CommandButton4_Click() '查看按钮
If rs1.BOF Or rs1.EOF <> True Then
MsgBox '正确答案是' & CStr(rs1.Fields('答案')) & '你答对了吗!'
End If
End Sub
Sub onslideshowterminate() ‘当幻灯片播放完毕或中断时,关闭记录集,关闭数据库文件
rs1.Close
cnn.Close
End Sub
这样通过连接数据库的方式,直接把一个题库数据库文件内容导入到课件中,整个PPT只需要一张幻灯片就可以显示所有的题目。运行时,单击“开始”显示第一题,单击“下一题”和“上一题”可以显示后续的或之前的每一题,单击“查看”看答案。科技论文。本文的代码实现的功能都在Windows XP环境下Powerpoint2003中测试通过。
3、结束语
交互性课件对教学工作有着很大的帮助,本文介绍了在Powerpoint中应用VBA和数据库技术创建具有交互性的课件的方法,实现方法简单,使我们制作交互性课件的过程简化了许多,容易了许多。当然我们还可以利用VBA编程语言来制作出更富有趣味性的课件,这就需要深入学习VBA编程技术。
参考文献
[1]王余勤.VB A技术在Powerpoint中的应用研究.[J]中国医学教育技术.2005
[2]王川,阮兴平等.中文版Office2000VBA一册通[M].北京.人民邮电出版社.2000
[3]韩泽坤.Access 2003公司数据库管理综合应用[ M]北京.中国青年出版社.2005
|