APP下载

网络课件中基于VBA的动态信息交互技术研究

2016-12-30赖鑫生

上饶师范学院学报 2016年6期
关键词:幻灯片按钮动画

颜 清, 黎 宁, 苗 壮, 赖鑫生

(上饶师范学院 数学与计算机科学学院,江西 上饶 334001)

网络课件中基于VBA的动态信息交互技术研究

颜 清, 黎 宁, 苗 壮, 赖鑫生

(上饶师范学院 数学与计算机科学学院,江西 上饶 334001)

为满足网络化仿真实验教学的要求,利用VBA技术实现实验仿真教学课件与外部应用程序的数据存取与数据访问。基于VBA技术的PowerPoint实验仿真课件生动直观,动画逼真、交互性强。在数据库实验仿真课件中,VBA技术使课件自动与外部文件或程序进行连接,即时导出仿真实验动态信息或导入文字及图表,实现了动态信息交互和实验过程仿真的自动化和可视化,丰富了实验仿真教学课件的内涵和基本应用功能。

实验仿真课件;VBA技术;数据存取;数据访问;动态信息

PowerBuilde是一个基于.net平台产品的数据库开发工具,PowerBuilder支持asp.net的web开发和智能客户端开发,采用PowerBuilder作为《数据库系统原理》课程实验的常用开发工具倍受学生青睐。借助于网络教学平台上的实验仿真课件,指导学生在网络终端设备上完成相应的实验过程,是网络教学平台的基本功能,由于PowerBuilder不支持课件的多媒体交互技术要求,无法显示仿真实验课件中的复杂界面,直接用 PowerBuilder开发数据库仿真实验课件是十分困难的。教学课件最常用的开发工具是PowerPoint,利用PowerPoint模拟实验的全过程是最具现实意义的[1,2]。数据库实验仿真教学课件,既要有交互式的仿真动画,又能够演示逼真的实验进程,获得逼真的实验动态信息,学生通过对仿真课件的模仿完成数据库实验的自主学习,其课件的应用价值也立即体现出来,而PowerPoint要做到这些难度较大,相关论述较为鲜见[3]。笔者对PowerPoint中的VBA二次开发技术[4]的研究较为深入,利用VBA完成PowerPoint与外部文件或程序的自动连接,课件在运行过程中自动与外部文件或程序进行数据存取与数据访问[5],自动加载文字、图形及数字等内容,加之辅以PowerPoint中的动画,仿真课件中就可以实现数据库设计[6]及数据窗口可视化的动态信息交互,从而使PowerPoint切实达到课程实验仿真教学的网络化应用要求,基于VBA的动态信息交互技术也极大地增强了PowerPoint实验仿真教学课件的标准化应用功能[7]。现以PowerBuilder数据库的建立等“数据库实验” 网络课件为例,探讨VBA的动态信息交互技术在网络仿真实验课件中的应用,以飨读者。

1 基于VBA的动态信息交互技术

在基于PowerBuilder环境的中,创建数据库就是利用数据库窗口或SQL命令创建数据库和数据表,用PowerPoint课件指导学生完成“数据库设计”实验就必须采用仿真形式介绍这一实验过程。利用VBA技术模拟“数据库设计”过程主要从以下几个方面着手。1)介绍数据库中的数据表。即在课件中利用VBA技术制作静态二维表并动态调用外部文件数据,实现数据库二维表在“数据库设计”实验中的交互变化,VBA技术显示动态变化的数据库。2)数据窗口对数据库中数据表的操作。即模拟在数据窗口中对数据库进行“新增”“删除”等交互操作时,VBA技术与数据外部文件的数据存取模拟数据库中内容随之变化这一动态过程,VBA技术模拟动态数据库的增删操作。3)数据窗口设计时事件代码的添加过程。即利用VBA技术自动调用外部文件信息模拟“添加事件代码”这一动态过程。4)数据窗口的设计过程仿真。即利用PowerPoint中的动画设计功能与VBA技术结合,模拟窗口的设计及添加按钮、单选框、输入文本等动态过程。

1.1 VBA技术显示动态交互变化的数据表

“建立数据库”的实验目的主要为熟悉PowerBuilder运行环境、建立数据库、掌握PowerBuilder数据窗口的创建及使用。在“数据库创建实验”网络仿真课件中,最初建立数据库时,数据库中的记录是动态变化的,如数据库中的“学生信息表”,是通过记录的“新增”“删除”及“保存”等交互操作来完成“学生信息表”的建立过程。如图1所示,PowerPoint课件中以动态二维表形式反映不断变化的“学生信息表”来模拟建立数据表这一实验过程。第三张幻灯片为“学生信息表”幻灯片母板,“当前学生信息表”和“修改前学生信息表”等按钮固化在母板上的,所链接的VBA过程,可以把“数据库设计”实验过程的动态“学生信息表”显示出来,实现“学生信息表”设计过程的可视化,让学生通过课件学习,掌握数据库中数据表的设计方法与技巧。

图1 课件中通过交互按钮显示动态变化的数据库

课件中“当前学生信息表”按钮中的VBA过程为:

ActivePresentation.Slides(3).Layout = ppLayoutTitleOnly '选择只有标题的幻灯片版式ppLayoutText

ActivePresentation.Slides(3).Shapes.Title.TextFrame.TextRange = EWBBT$ & "当前学生信息表" '添加标题“当前学生信息表”

Set ewb = ActivePresentation.Slides(3).Shapes.AddTable(9, 5, 60, 110, 600, 0).Table '在课件中插入9行5列的Excel表格

Dim excelApp As New Excel.Application

Set Workbook = excelApp.Workbooks.Open(FileName:="D: SJKSY数据库设计实验.xls")

For x = 1 To 9 '在表格中自动导入Excel数据

For y = 1 To 5

ewb.Cell(x, y).Shape.TextFrame.TextRange.Text = Format$(Workbook.Sheets("当前学生信息表").Cells(x, y + 1))

Next y

Next x

Workbook.Close '关闭Excel文件

以上VBA代码是在幻灯片(3)上进行的一系列操作:1)完成了删除图形、文字对象等操作;2)选择只有标题的幻灯片版式;3)插入标题文字“当前学生信息表”;4)VBA插入一个9行5列的表格;5)在表格中依次导入“数据库设计实验.xls”文件“当前学生信息表”中的Excel数据。

1.2 VBA技术模拟动态数据库的增删等交互性操作

课件中讲解创建学生信息表时的SQL命令,可以直接在PowerPoint课件的幻灯片中以静态文本的形式播放出来,而学生信息表中“新增”“删除”及“保存”记录的交互性过程完全是动态的,就必须使“学生信息表”在课件中以动态信息出现。初始数据库建立之后,“学生信息表” 中记录的“新增”“删除”及“保存”就要由数据窗口来完成。仿真实验课件要模拟数据窗口的相关操作,即点击相应按钮就要出现对应操作的结果画面,课件通过与外部文件进行动态信息存取与数据访问来完成“建立数据库”仿真实验。如图2所示,课件利用按钮的Click()过程VBA宏代码创建与Excel应用程序的连接,直接与Excel文件进行数据访问,网络上使用课件时,将输入的动态信息直接保存在Excel文件中以方便课件临时调用与查看。连接Excel文件的VBA过程十分简单,用下列VBA语句即可定义连接:

Dim excelApp As New Excel.Application

Set Workbook = excelApp.Workbooks.Open(FileName:="D: SJKSY数据库设计实验.xls ")

……'打开Excel文件后存取数据

Workbook.Save:Workbook.Close'保存与关闭Excel文件

VBA语句运行后,课件直接连接并打开“D: SJKSY数据库设计实验.xls”的Excel文件,加入存取动态信息的VBA语句即可完成PowerPoint课件与Excel文件存取动态信息的功能,从而模拟PowerBuilder中建立的“学生信息窗口”界面及其数据库的“新增”“删除”及“保存”等仿真操作。图2所示,在PowerPoint课件的一幻灯片上绘制“学生信息” 窗口图,叠加“新增”“删除”及“保存”等四个按钮进行人机交互,完成实验仿真。仿真实验所产生的实验动态信息,即用户在应用课件时通过“新增”按钮采集“学生信息”窗口输入的学生信息,临时存放在数组XSXX (5,5)中。根据用户意愿,再由“保存”按钮中的VBA过程给Excel文件写入数据。

将“新增”按钮临时存放在数组XSXX(5,5)中的实验仿真数据保存到Excel文件中,对应“保存”按钮的VBA语句如下:

For I = 1 To 1000'读取“当前学生信息表”表中已有数据的行数

n = n + 1

IF Workbook.Sheets("当前学生信息表").Cells(I ,1) =" " Then I = 1000

Next I

For I = 1 To 5'写入仿真数据至“当前学生信息表”表中

For J = 1 To 5

Workbook.Sheets("当前学生信息表").Cells(I + n,J + 1) = XSXX (I, J)

……

Next J , I

图2 课件中交互按钮与外部文件进行动态信息存取

以上VBA宏代码VBA通过循环嵌套语句,“新增”按钮仿真输入的数据(数组)保存到“数据库仿真实验”Excel文件的“当前学生信息表”表中。

随着教育技术的发展,教学教育资源越来越丰富。课件与多媒体积件的自动连接及数据存取技术,是现代教育技术课件必不可少的功能之一。Excel与PowerPoint同属Microsoft Office中的成员,VBA技术能让Microsoft Office成员间实现的动态信息存取与数据访问通畅便捷。笔者还尝试通过VBA宏代码实现课件与Microsoft Office中的ACCESS数据库应用程序的连接,其VBA过程比较简单,同样具有应用价值。

1.3 VBA技术动态显示“学生信息”窗口交互按钮中的代码

课件对“建立数据库仿真”实验的“学生信息窗口”进行仿真操作后,下一幻灯片通过VBA宏代码读取存放在Excel文件中的文字数据,介绍“新增”“删除”及“保存”等按钮中的“clicked事件代码”时(图3),点击“新增”“删除”及“保存”等按钮,读取“clicked事件代码”表不同单元格中的文字数据,完成众多文字内容的播放,使幻灯片数量大减。这些文字内容各不相同,但幻灯片形式类似,可将这些文字内容存放在“数据库仿真实验.xls ”Excel文件的“clicked事件代码”表中。如“新增”读取按钮的事件代码的VBA语句为:

Dim AN(4) As String, ANDM(4) As String'定义变量

For I=1 to 4

AN(I)= Workbook..Sheets("clicked事件代码").Cells(I+1,2) '读取“clicked事件代码”表中4个按钮的名称

ANDM(I)=Workbook..Sheets("clicked事件代码").Cells (I+1,3) '读取“clicked事件代码”表中4个按钮的事件代码

Next I

Workbook.Close '关闭Excel文件

以上代码是利用VBA循环语句读取“clicked事件代码”表中的4个交互按钮的名称分别存放在数组AN(I) 、ANDM(I)中,进入下一幻灯片。

如“新增”读取按钮的事件代码的VBA语句为:

ActivePresentation.Slides(5).Layout = ppLayoutTitleOnly '选择只有标题的幻灯片版式ppLayoutText

ActivePresentation.Slides(5).Shapes.Title.TextFrame.TextRange = "“学生信息”窗口中按钮的事件代码" '幻灯片标题为:“学生信息窗口”中按钮的事件代码

ActivePresentation.Slides(5).Shapes("Text Box 203").TextFrame.TextRange.Text = AN (1) ' 显示“<新增>按钮的clicked事件代码:”

ActivePresentation.Slides(5).Shapes("Text Box 204").TextFrame.TextRange.Text = ANDM(1) ' 显示<新增>按钮的clicked事件代码实际内容

SlideShowWindows(Index:= 1).View.GotoSlide 5'进入并显示第五块幻灯片

图3 在课件中动态显示“学生信息”窗口按钮中代码

播放幻灯片时通过分别点击母板上的四个按钮,VBA过程(略)调用数组AN(I)显示和ANDM(I) 分别在对应的两个文本框 “Text Box 203”“Text Box 204” 中显示 “按钮名称”和“按钮代码”等。

1.4 VBA技术动态显示窗口的创建过程

1.4.1 PowerPoint普通动画动态显示窗口的创建过程

“建立数据库”的实验目的主要为掌握PowerBuilder数据窗口的创建、使用及建立数据库。PowerPoint模拟数据窗口的创建是一个动态过程,可以直接利用PowerPoint的自定义动画,PowerPoint2010常用的自定义动画有“进入”“强调”“退出”“切换”等,模拟数据窗口的创建就可以直接用这些简单动画,比如设计数据窗口中 “按钮” 的设计等。“学生信息窗口”中四个按钮的设计其动画过程是相同的,就可以利用“动画刷”,复制一个按钮设计的动画,是PowerPoint使用自定义动画技巧并应用到其他按钮的设计动画工具,即通过菜单“动画”/“高级动画”/“动画刷”进行操作使用,使用方法与格式刷很相似。幻灯片添加切换动画时,选择好要设置的幻灯片,在菜单栏的“切换”/“切换到此幻灯片”组/“切换方案”以及“效果选项”中,单击要应用于该幻灯片的幻灯片切换方案或切换效果完成动画设置。以上过程也可以利用“路径动画”进行模拟,即将幻灯片上的形状、图片、文本等放在动作路径上,从一个位置移向另一个位置,沿着一种不可见的轨迹运动,通过对路径编辑和修改,得到满意的路径动画。另外,在设计一个窗口时,要添加“窗体”、添加“背景图片”、 添加“静态文本” 、添加“按钮”、添加“动态文本”及添加“单选框”或“多选框”等操作,每操作完一步窗口上图形都在变化,就可以通过使用截图,通过“路径动画” 成为逐渐变化或移动的图形,可达到窗口设计的动态效果。

1.4.2 VBA调用外部文件图形模拟动态图形窗口

一些较为复杂的动画效果,采用VBA技术动态显示动画图形进行仿真也许更为逼真。如在“选课系统设计实验”中创建“选课系统”窗口,在“窗口”上添加图片、按钮、静态文本、输入文本框等操作时,是一个动态的设计过程(图4所示)。介绍创建“选课系统”窗口,按步骤一步一个图片(创建选课系统窗口共9步,9个截图),以图表格式保存在Excel文件中,如其中名为“选课系统设计窗口图8”的截图图形,在VBA语句定义连接Excel文件之后,插入以下VBA语句即可调用,以下调用图形方法也可完成动态显示的动画效果。

Workbook.Sheets("选课系统设计窗口图8").Select

ActivePresentation.Slides(7).Shapes.Title.TextFrame.TextRange = "选课系统设计窗口图8"

ActivePresentation.Slides(7).Shapes.AddOLEObject Left:=65#, Top:=128#, Width:=580#, Height:=355#, FileName:= "D:HGSY选课系统设计实验.xls "

图4 动态显示“选课系统设计窗口”的创建过程

2 结论

PowerPoint与Excel同属Microsoft Office中的成员,VBA技术能让Microsoft Office成员间实现无缝连接,程序间交换信息、通讯十分通畅,以类似方法同样可以访问诸如Word、Access等Microsoft Office中其它成员的数据,通过网络上实验仿真课件的人机对话界面与网络教学平台进行信息交流、信息控制和信息传播。VBA技术与网络教学平台上的外部文件进行数据存取与数据访问,加之母板技术的运用,课件的交互性更为流畅,极大地丰富了教学仿真课件的表现形式和应用功能,符合网络教学平台中对实验仿真多媒体课件的技术要求,方法具有推广性和可移植性。学生初步掌握“数据库实验”的实验步骤和实验方法,为顺利完成“数据库实验”打下了基础。

[1] 颜清,彭小平.基于VBA的动画模拟课件的设计与实现[J].现代教育技术,2010,20(1):124-126.

[2] 颜清,彭小平,冷明伟.VBA实现恒馏出液组成间歇精馏的计算机模拟[J].计算机应用与软件,2008, 25(12): 88-90,102.

[3] BOCTOR D. Microsoft Office 2000 VBA基础[M]. 北京超品计算机有限责任公司,译.北京:人民邮电出版社,2000:281-285.

[4] 蓝晓民,王盛智.“工程制图”课程多媒体教学方法探讨[J].图学学报,2013,34(1):120-121.

[5] 张成光,王忠厚.多媒体课件制作的探索与实践[J].中国成人教育,2013(12):125-127.

[6] 陈煌,陈锦昌.基于产品基因组的VBA程序建模开发研究[J].机械设计与制造,2013(1):240-243,247.

[7] 高楠楠,李宏博,黄金鑫.成人培训课件标准化研究与应用[J].中国成人教育,2013(19):129-131.

Research on Dynamic Information Interaction Technology Based on VBA in Network

YAN Qing, LI Ning, MIAO Zuang, LAI Xin-sheng

(School of Mathematics and Computer Science, Shangrao Normal University, Shangrao Jiangxi 334001,China)

Using VBA technology to achieve the experimental simulation of teaching courseware and external application data access and data access, is to meet the requirements of network teaching. A VBA-based PowerPoint experiment simulation courseware is vivid and intuitive, animated realistic, interactive strong. In the database experiment simulation courseware, VBA technology enables the courseware to automatically connect with external files or programs, and can instantly export simulation experiment dynamic information or import text and graphics. VBA technology also enables the courseware to achieve dynamic information interaction and experimental process simulation VBA technology has greatly enriched the connotation and the basic application function of the experiment simulation teaching courseware.

experimental simulation courseware; VBA technology; data access; data access; dynamic information

2016-10-09

2013年江西省高校省级教改立项项目(JXJG-13-16-11);江西省特色专业资助项目(赣教高字[2010]28号)

颜清(1962-),女,湖南宜章人,副教授,主要从事计算机应用技术研究。E-mail:yanq168@126.com

TP391.9

A

1004-2237(2016)06-0010-06

10.3969/j.issn.1004-2237.2016.06.003

猜你喜欢

幻灯片按钮动画
当你面前有个按钮
水幕幻灯片
做个动画给你看
动画发展史
我的动画梦
死循环
实现幻灯片的缩放功能
我是动画迷
内心不能碰的按钮
显示或隐藏“大纲”或“幻灯片”选项卡