APP下载

利用VBA让PPT具有遥控倒计时及电子打铃功能

2011-10-18马致明艾克拉木牙合甫杨婷婷

中国教育信息化 2011年22期
关键词:文本框倒计时幻灯片

马致明,艾克拉木·牙合甫,杨婷婷

(1.新疆师范大学计算机科学技术学院,新疆乌鲁木齐830054;2.新疆师范大学学生处,新疆乌鲁木齐830054)

利用VBA让PPT具有遥控倒计时及电子打铃功能

马致明1,艾克拉木·牙合甫2,杨婷婷1

(1.新疆师范大学计算机科学技术学院,新疆乌鲁木齐830054;2.新疆师范大学学生处,新疆乌鲁木齐830054)

在剖析PowerPoint VBA编程方法的基础上,探讨如何利用VBA编程让PPT具有遥控倒计时及电子打铃功能,文中详细介绍了其制作过程,并给出了通用性很好的实例程序全代码。

VBA编程;倒计时;电子打铃;遥控;PPT演示文稿;模拟钟声

引言

PowerPoint由于其简单易用、操作方便、通用性好等优点,成为学校和企事业单位使用频率最高的软件之一。除了多媒体教学这一主战场以外,PowerPoint在演讲比赛、论文答辩、竞聘述职、工作汇报、评奖申报等一系列活动中应用非常广泛,并常常被用来与投影仪搭配在会场上呈现会议主题、营造会议气氛等。在这些活动中通常要求主讲者在限定的时间内完成陈述,但主办者却常常为倒计时犯愁:大屏幕上用计算机展示着主题,而计时却用很原始、很笨的手段进行协助。如果在大屏幕上呈现会议主题的同时,给主讲者和听众一个倒计时的界面,到规定的时间后自动打铃和提示,其效果及会场氛围肯定是截然不同的。即使大屏幕因内容展示而被主讲者占用,在会场前方的某个位置放个笔记本电脑进行遥控倒计时和打铃,其效果也是非同一般的。

为了使PPT具备上述强大的功能,必须借助它所附带的编程工具VBA对演示文稿进行二次开发。关于VBA概述很多文章中均有介绍,在此不再赘述。

一、设计思路与关键技术

1.设计思路

在PPT演示文稿中用2张幻灯片来完成有关功能,其中第1张用来设定有关倒计时及打铃的参数,主要有倒计时的时长、打铃的次数、打铃的时机等,为此需要在此幻灯片中通过控件工具箱添加文本框、选项按钮、命令按钮等控件;第2张幻灯片是主界面,用来呈现会议标题、倒计时的数字时钟、到达设定时长后的提示以及打铃,为此也需要在此幻灯片中通过控件工具箱添加命令按钮和复选按钮等控件,至于数字时钟则用PPT中的水平文本框进行呈现,这样便于用户灵活设置其格式与位置,以便与标题和背景能完美地组合和搭配。

2.关键技术

(1)计时功能的实现

通常动态效果及计时功能的实现离不开定时器控件,但VBA不支持该控件。虽然API函数SetTimer ()与KillTimer()可以弥补这一缺陷,但需要在标准模块中声明这两个烦琐的API函数,并编写相应的定时器事件处理子程序,使用起来非常麻烦。

通过探索笔者找到了解决该问题的一个简洁方法,即利用VBA自带的Timer函数。此函数返回的是从子夜开始的秒数,测出两个不同时刻的Timer值即可得经历的秒数。本例中在计时一开始就记录下初始时刻:T0=Timer,此后在循环中不断测出当前时刻的Timer值,当Timer-T0≤TotalTime(限定的时长)时就显示还剩的时间T=TotalTime-(Timer-T0),当T到达设定的打铃时间时,进行文字提示并调用打铃子程序发出指定次数的模拟钟声。

在循环中一定要用一个单独的DoEvents语句,以便随时将控制权交给系统,以顾及系统的其它任务或请求。

(2)模拟钟声的奏出

为了增强效果,并减少对音效文件的依赖,本文通过调用Midi函数奏出模拟钟声。Midi是乐器数字接口的英文缩写,计算机的声卡中包含一个与Midi兼容的合成器,在程序中可通过调用与Midi相关的API函数打开或关闭Midi端口、向Midi端口发送消息并产生相应的音效。其中用于打开Midi端口的是MidiOutOpen()函数,其第一个参数可返回已打开的端口号;用于关闭Midi端口的是MidiOutClose()函数,其参数就是要关闭的端口号;用于传递Midi输出消息的是MidiOutShortMsg()函数,其第1个参数用于指定端口号,第2个参数通常是一个十六进制的整数,直接决定音效的内容,若选用&H7F2890这个值可以模拟出类似钟声的效果。值得一提的是,每个音符发出后必须延迟一段时间,具体做法还是用Timer函数进行时间控制,有关用法请参照下文中的制作实例。

(3)对象名称的确定

宏代码中不可避免地要引用有关控件或对象的名称,但是只有从“控件工具箱”中添加的控件才能在属性和代码窗口中查到其名称,对于从其它菜单或工具栏中插入的文本框、自选图形等对象其名称便无从得知;本文中用于显示数字时钟的水平文本框就属这类,获取其名称的唯一方法是针对这些对象录制一段临时宏,然后在宏代码中去查找。具体操作过程如下:

①将对象添加至幻灯片,然后打开“工具/宏”菜单中的“录制新宏”对话框,使用默认宏名并单击“确定”,此时会出现一个“停止录制”的浮动工具栏,表明已进入宏录制状态;

②在幻灯片中调整该对象的位置或大小,然后单击浮动工具栏中的“停止录制”;

③打开“工具/宏”菜单中的“宏”对话框,选中相应的宏名并单击“编辑”后即可进入宏代码窗口,此时在代码中就可以查看到该对象的名称,记下名称后将录制的宏删除即可。

二、制作实例

启动PowerPoint,建立2张空白幻灯片,通过“视图/工具栏”菜单打开“控件工具箱”。

1.添加对象

(1)第1张幻灯片

①选中“控件工具箱”中的“选项按钮”控件,在幻灯片左侧画出3个选项按钮,并将Caption属性依次设置成 “打铃0次”、“打铃 1次”和“打铃2次”;添加2个 “文本框”控件,分别用于输入限定的时长和第1次打铃的时间;再添加1个“命令按钮”控件,并将Caption属性设置成“确定”。

②参照图1,通过 “插入/文本框”菜单在相应位置添加水平文本框,并设置文字内容。

(2)第2张幻灯片

①参照图2,在幻灯片底部添加2个“命令按钮”控件,并将Caption属性设置成“计时”和“停止”;在两个按钮之间添加1个“复选框”控件,并将Caption属性设置成“启用遥控笔”。

②通过“插入/文本框”菜单在幻灯片中下部添加1个用于显示数字时钟的水平文本框,并设定好字体的颜色、字号等格式。

③在幻灯片的中上方用艺术字或文本框添加会议标题等信息。

(3)说明

“启用遥控笔”复选框放入第2张幻灯片的原因是:当按下遥控笔上的上、下两个按钮时,相当于按下键盘上的PgUp、PgDn这两个键,为了让这两个按钮对应“计时”和“停止”按钮的单击事件,必须有一个能够获得焦点且能捕获按键信息的控件,命令按钮无法获得焦点,因此只好用复选框。放映时,不管此复选框是否被选中,只要焦点在其上即可捕获遥控笔的按键信息。

2.编写宏代码

(1)确定“数字时钟”文本框的名称

如上所述,为了方便用户操作和控制,呈现“数字时钟”的对象是PPT中的水平文本框,此文本框的名称无法直接查到,只好用前面所讲的录制临时宏的方法进行查找。在本例中查出的该对象的名称是Shapes ("Text Box 7")。

(2)编写第1张幻灯片的宏代码

双击第1张幻灯片中的“确定”按钮,进入Slide1(第1张幻灯片)的宏代码窗口,并输入以下代码(代码中有较详细的注释,限于篇幅,不做进一步解释,下同):

3.运行

放映幻灯片,在第1张幻灯片中设定好倒计时的时长、打铃的次数及时间等相关参数后,单击“确定”按钮即可进入倒计时主界面(即第2张幻灯片),单击“启用遥控笔”复选框后就可借助鼠标或遥控笔进行计时、打铃等操作,操作十分方便。运行界面如图1、图2所示。

需要说明的是,为了防范宏病毒对计算机的侵害,在PowerPoint的“工具”菜单中对宏的安全性设置了不同的安全级,只有将安全级设置成“低”或“中”,重新打开相应的演示文稿,并在系统提示的“安全警告”对话框中选择“启用宏”(当安全级设置成“中”时会出现此对话框),这样才能在幻灯片放映时启动宏程序,看到遥控倒计时及电子打铃的效果。

结束语

在充分发挥PPT自身优势的同时,若能适当应用VBA功能,制作出的演示文稿就会如虎添翼,其交互性和演示效果毫不逊色于专业软件开发工具制作的作品。

[1](美)戴维斯(Davis,G.H.)著,杨密、杨乐、柯树森译.VBA从入门到精通[M].北京:电子工业出版社,2008.6.

[2]颜清.PowerPoint课件中基于VBA的习题设计[J].计算机与现代化,2006,(2).

[3]程智.利用VBA来提高PowerPoint制作的课件的交互性[J].中国电化教育,2002,(6).

(编辑:王天鹏)

TP317

A

1673-8454(2011)22-0043-04

猜你喜欢

文本框倒计时幻灯片
我帮老师做幻灯片
水幕幻灯片
巧用文本框实现PPT多图片排版
PPT文本框的另类应用
文本框酷变3D效果
不强拆 巧分妙合幻灯片
快速添加摘要幻灯片
文本框在地理课件中的应用