如题所述
第1个回答 2012-04-25
使用Office中的VBA控制flash动画 插入Flash影片 单击“视图/工具栏/控件工具箱”,选择“其他控件/Shockwave Flash Object”,在幻灯片中用鼠标拖出一个方框,调整好大小。这样,我们用插入控件的方法插入一个Flash控件,选择当前控件,在“属性”面板中作如下设置:“Movie”中填入所需的Flash影片名称如1.swf,控件“名称”就用默认的“ShockwaveFlash1”,这个名称在后面的VBA编程中要用到。 插入命令按钮
1. 制作(播放)按钮
“控件工具箱”中选择“命令按钮”,在幻灯片中拖动,即可拖出一个命令按钮。调整好大小,在“属性”面板中作如下设置:“名称”中输入“cmd_play”,“Caption”中输入“播放”。双击该按钮,进入VBA编辑窗口,输入如下内容:
Private Sub cmd_play_Click()
ShockwaveFlash1.Playing = True
End Sub
2. 制作(暂停)、(前进)、(后退)、(返回)、(结束)按钮按钮制作的方法同上。“属性”面板中分别作如下设置:暂停按钮的“名称”为“cmd_pause”,“Caption”填“暂停”;前进按钮按钮的“名称”为“cmd_forward”,“Caption”为“前进”;后退按钮的“名称”为“cmd_back”,“Caption”为“后退”;返回按钮的“名称”为“cmd_start”,“Caption”为“返回”;结束按钮的“名称”为“cmd_end”,“Caption”为“结束”。
分别为各个按钮加上VBA,命令依次如下:
Private Sub cmd_pause_Click()
ShockwaveFlash1.Playing = False
End Sub
Private Sub cmd_forward_Click()
ShockwaveFlash1.FrameNum =ShockwaveFlash1.FrameNum + 30
ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_back_Click() ShockwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum - 30 ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_start_Click()
ShockwaveFlash1.FrameNum = 1
ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_end_Click()
ShockwaveFlash1.FrameNum=ShockwaveFlash1.TotalFrames
End Sub
说明:在(前进)、(后退)、(返回)按钮中,后面均加上一条播放命令,是因为在实际应用时,发现后面如果没有播放命令的话,Flash影片会停止播放,所以这句是万万不可少的。
3. 播放幻灯片
看看按钮是不是可以控制影片了呢?什么?没反应,那一定是你的宏的安全性设得太高了,单击“工具/宏/安全性”,将“安全级”设为“低”。重新打开PowerPoint,可以了吧。追问
1. 制作(播放)按钮
“控件工具箱”中选择“命令按钮”,在幻灯片中拖动,即可拖出一个命令按钮。调整好大小,在“属性”面板中作如下设置:“名称”中输入“cmd_play”,“Caption”中输入“播放”。双击该按钮,进入VBA编辑窗口,输入如下内容:
Private Sub cmd_play_Click()
ShockwaveFlash1.Playing = True
End Sub
2. 制作(暂停)、(前进)、(后退)、(返回)、(结束)按钮按钮制作的方法同上。“属性”面板中分别作如下设置:暂停按钮的“名称”为“cmd_pause”,“Caption”填“暂停”;前进按钮按钮的“名称”为“cmd_forward”,“Caption”为“前进”;后退按钮的“名称”为“cmd_back”,“Caption”为“后退”;返回按钮的“名称”为“cmd_start”,“Caption”为“返回”;结束按钮的“名称”为“cmd_end”,“Caption”为“结束”。
分别为各个按钮加上VBA,命令依次如下:
Private Sub cmd_pause_Click()
ShockwaveFlash1.Playing = False
End Sub
Private Sub cmd_forward_Click()
ShockwaveFlash1.FrameNum =ShockwaveFlash1.FrameNum + 30
ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_back_Click() ShockwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum - 30 ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_start_Click()
ShockwaveFlash1.FrameNum = 1
ShockwaveFlash1.Playing = True
End Sub
Private Sub cmd_end_Click()
ShockwaveFlash1.FrameNum=ShockwaveFlash1.TotalFrames
End Sub
说明:在(前进)、(后退)、(返回)按钮中,后面均加上一条播放命令,是因为在实际应用时,发现后面如果没有播放命令的话,Flash影片会停止播放,所以这句是万万不可少的。
3. 播放幻灯片
看看按钮是不是可以控制影片了呢?什么?没反应,那一定是你的宏的安全性设得太高了,单击“工具/宏/安全性”,将“安全级”设为“低”。重新打开PowerPoint,可以了吧。追问
谢谢,这些VB编程我会,我现在能做到点击一下,快进一些,再点一下,再快进一些,可做不到点击快进后,连续快进,你能帮我编一下吗?
追答你会编程 可以加些循环的语句 使ShockwaveFlash1.FrameNum =ShockwaveFlash1.FrameNum + 30循环 直到条件满足即可停止循环 把循环语句研究下