分享

利用VBA实现幻灯片播放的倒计时功能

 王咸美 2013-05-03

利用VBA实现幻灯片播放的倒计时功能

【摘 要】:

随着信息技术与学科的整合,教学课件在课堂中的使用越来越频繁,尤其在各种教学竞赛中。为了更好地把握课堂教学时间,教师经常在教学的课件中引入计时功能。PPT自带的自定义动画可以实现计时功能,但只能是较短时间,并不实用。下面就如何为幻灯片添加实用的计时功能进行探讨。

【关键词】:幻灯片 计时

        一、 使用幻灯片自带的VB编辑器编程实现

        以一个有三张幻灯片的课件为例:

        第一步:打开第一张幻灯片,选择PPT菜单栏“视图——工具栏——控件工具箱”,打开控件工具箱,选择命令按钮控件,在幻灯片左下角拖出一个命令按钮。右击按钮图标,打开“属性”对话框,将Caption的值改为“开始”。

        第二步:选择控件工具箱中的文本框,在按钮下方拖出一个文本框;右击文本框,打开属性对话框,进行文字格式的设置。再次右击文本框控件,选择快捷菜单中的“叠放次序——置于顶层”;

        第三步:选中文本框,按Ctrl + C快捷键把文本框复制,然后依次选择第二张、第三张幻灯片,按Ctrl + V快捷键把文本框粘贴,让第二张和第三张幻灯片上都得到一个相同的文本框,并保持在同一个位置

        第四步: 选择P P T 菜单栏“ 工具——宏——Visual Basic编辑器,打开编辑器窗口。在编辑窗口中选择菜单“插入——类模块”,在工程资源管理窗口中会自动添加一个名为“类1”的模块,在属性窗口中把名称改为“EventClassModule”。

        第五步: 在代码窗口中编写用于捕捉PPT幻灯片开始播放的事件,以及计时程序代码。

        Public WithEvents App As Application

        Private js As Boolean ' 开始或停止倒计时程序

        ' PPT开始播放幻灯片时

        Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)

        Dim tt As Integer

        Dim X, Y As Integer

        Dim Start As Single

        tt = 2700 ' 5分钟倒计时,初始值为300

        js = True ' 让倒计时程序开始工作

        Start = Timer ' 获得系统时间,可以精确到0.001

  Do While js = True

        If Timer >= Start + 1 Then ' 如果与前一次记录的初始时间相差1秒时

        Start = Timer ' 重新记录初始时间

        tt = tt - 1 ' 剩余总秒数少1

        If tt <= 0 Then js = False '如果倒计时完成时,停止倒计时

        X = Int(tt / 60) ' 剩余总秒数化为分:秒,并显示在各幻灯片

        Y = tt Mod 60

        Slide1.TextBox1.Text = CStr(X & ":" & Y)

        Slide2.TextBox1.Text = CStr(X & ":" & Y)

        Slide3.TextBox1.Text = CStr(X & ":" & Y)

        Else

        DoEvents

        End If

        Loop

        End Sub ' PPT结束播放幻灯片时,停止倒计时

        Private Sub App_SlideShowEnd(ByVal Pres As Presentation)

        jishi = False

        End Sub

第六步: 在编辑窗口中选择菜单“ 插入——模块”,在属性窗口中把“模块1”名称改为“ClassModule”。在代码窗口中编写用于初始化刚才制作的EventClassModule模块的程序代码。

        Dim X As New EventClassModule ' 创建一个类对象,并把它与PPT连接

        Sub InitializeApp()

        Set X.App = Application

        End Sub

        第六步:双击工程资源管理器中的Slide1对象,在代码窗口中编写代码。

        Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByValX As Single, ByVal Y As Single)

        InitializeApp

        二、 在幻灯片母版中使用Flash计时器

        其方法是“ 插入对象” 采用这种方式,在播放幻灯片时会弹出一个播放窗口,它可以响应所有的Flash鼠标事件。还可以根据需要在播放的过程中调整窗口的大小。它的缺点是播放完了以后要点击[关闭]按钮来关闭窗口。 操作步骤如下:

        第一步: 运行PowerPoint程序,打开要插入动画的幻灯片。

        第二步:在菜单中选择“插入”选项,从打开的下拉菜单中选择“对象”。在弹出的“插入对象”对话框中选择“由文件创建”,单击[浏览],选中需要插入的Flash动画文件,最后单击[确定]返回幻灯片。

        第三步, 完成上面操作后, 幻灯片上就出现了一个Flash文件的图标,我们可以更改图标的大小或者移动它的位置。在这个图标上右击鼠标,选中“动作设置”命令。在弹出的窗口中选择“单击鼠标”或“鼠标移动”两个标签都可以,再点击“对象动作”,在下拉菜单中选择“激活内容”,最后单击[确定],完成插入动画的操作。

        三、 使用幻灯片的“加载宏”功能,添加计时项

        下载一个“计时器.ppa”文件,启用宏,在幻灯片菜单栏中便添加了一个“计时器”项。

        操作步骤如下:

        第一步:选择菜单栏“工具——宏——安全性”,将安全级别设置为“低”。

第二步: 选择菜单栏“ 工具—— 加载宏”,在弹出的对话框中进行添加,然后关闭对话框。

        第三步: 在以上操作完成后, 菜单栏中便添加了“计时器”选项。可以选择此选项,进行时间及计时方式的设置。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多