二、VBA简介
VBA(Visual Basic for Applications)是由Microsoft公司开发的新一代标准宏语言,是Visual Basic for Application的简写,它是基于VB(Visual Basic)发展而来的,并与VB具有相似的语言结构和相同的编程环境。它以VB语言为基础,经过优化,VBA专门用于Office的各应用程序,包括Word、Excel、PowerPoint、Access、FrontPage、Outlook以及Project。它不能像VB一样能生成可执行程序。实际上VBA是“寄生”于VB应用程序的版本。可以认为VBA是非常流行的应用程序开发语言Visual Basic 的子集。VBA的主要特点如下:
第一,VBA可以使已有的应用程序(Excel等)自动化,可以扩展已有程序,可以创建自定义的解决方案。
第二,VBA必须“寄生”于已有的应用程序,其开发的程序必须依赖于它的“父”应用程序,例如Excel。
第三,VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。
尽管存在区别,VBA和VB在结构上仍然十分相似。事实上,如果已经了解了VB,学习VBA会非常快。相应的,学完VBA会给学习VB打下坚实的基础。而且,当学会在PowerPoint中用VBA创建解决方案后,即已具备在Word、Excel、Access和Outlook中用VBA创建解决方案的大部分知识。因为在Microsoft产品系列中,VBA是相通的。
三、利用VBA控制Flash文件播放的方法
1.将Flash文件插入PowerPoint
在菜单栏选择“视图-工具栏-控件工具箱”,打开控件工具箱,在其中选择“ ”( 其他工具),出现一个下拉列表,在其中选择“Shockwave Flash Object”项,鼠标变成十字,在PowerPoint页面中画出该控件的范围, 以后插入的Flash文件将在这个范围内播放;然后在该范围内右击,选择“属性”,打开控件属性面板,其名称为“ShockwaveFlash1”,在此不做修改,后面我们会用到该属性,在其属性的“movie”一栏中,写入要插入的Flash文件的路径和文件名称(注:一般将Flash文件与PowerPoint文件保存到同一个文件夹下)。
2.设置ShockwaveFlash1的相关属性
其“playing”属性默认为“true”,表示PowerPoint——播放,就是播放该Flash文件,但在实际应用中,我们并不希望这样,所以,将其改为“False”。为了防止在拷贝过程中丢失源文件,可以将“Embed Movie”设为“true”,表示将该Flash文件植入PowerPoint,另外,其中还有边框、背景颜色、位置、对齐方式等项的设置,读者可以根据自己的需要进行设置,在此不一一介绍。
3.添加播放控制按钮
(1)打开控件工具箱,点选“命令按钮”,在PowerPoint页面中画出一个命令按钮,调整其大小和位置,在属性面板中修改其名称属性为“play”,“caption”属性为“播放”, 双击该按钮,进入VBA编辑窗口,输入如下内容:
Private Sub play_Click()
ShockwaveFlash1.Play
End Sub
表示当点击该按钮时,Flash文件将开始播放。
(2)用同样的方法,插入“暂停”按钮,在属性面板中修改其名称属性为“pause”,“caption”属性为“暂停”,其代码如下:
Private Sub pause_Click()
ShockwaveFlash1.stopPlay
End Sub
表示当点击该按钮后,Flash文件暂停播放。
(3)插入“停止”按钮,在属性面板中修改其名称属性为“cmd_stop”,“caption”的属性为“停止”,其代码如下:
Private Sub cmd_stop_Click()
ShockwaveFlash1.stopPlay
ShockwaveFlash1.FrameNum = ShockwaveFlash1.TotalFrames
End Sub
表示当点击该按钮后,Flash文件停止播放。
(4)插入“快进”按钮,在属性面板中修改其名称属性为“forward”,“caption”属性为“快进”,其代码如下:
Private Sub forward_Click()
ShockwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum + 50
ShockwaveFlash1.Play
End Sub
表示当点击该按钮后,Flash动画向前走50帧,当然,读者可以根据自己的需要设置快进的幅度,该值越大,快进速度越快。注意,ShockwaveFlash1.Play是不可缺少的,否则会停止播放,这在现实中是不可取的。
(5)插入“快退”按钮,在属性面板中修改其名称属性为“backward”,“caption”属性为“快退”,其代码如下:
Private Sub backward_Click()
ShockwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum - 50
ShockwaveFlash1.Play
End Sub
其含义同“快进”类似,只是作用相反。
(6)实现Flash动画的片段播放:在实际的教学应用中,教师为了教学的需要,在课堂教学中,只能使用动画中的某个片段,在这种情况下,教师可以将其嵌入PowerPoint,在其中设置按钮以控制Flash的播放位置。
比如:教师希望在课堂上播放一个Flash的中间一个片段,则可以先在PowerPoint中将动画播放到所需片段的起始位置后点击“暂停”按钮,然后在ShockwaveFlash1的属性面板中FrameNum一栏就可以看到当前动画所在帧,将其记录下来(本文中,假设该属性为100),然后插入一个按钮,修改其名称为“start”,“caption”属性为“第100帧开始”。“ 第100帧开始”按钮代码为:
Private Sub start_Click()
ShockwaveFlash1.GotoFrame 100
ShockwaveFlash1.Play
End Sub
表示按下该按钮以后,动画直接到第100帧开始播放,在片段播放完毕后,按下停止按钮即可,如果在一个动画里用到了多个片段,也可以用相同的方法设置多个按钮来灵活控制播放。
利用此方法省时省力,省去了对Flash文件的加工过程,教师可以随心所欲地控制Flash文件的播放,灵活方便。最重要的是其技术要求低,VBA代码简单易学,且在编辑过程中自带很多提示功能,教师们易学易用,容易上手。
另外,利用这种办法还可以实现对其他视频或音频文件播放的控制,教师可以尝试使用,使PowerPoint更具有趣味性、交互性,更好地为教学服务。