利用VBA在PPT中实现变速动画
| 分类: 编程 |
刘瑞祥
例:利用程序实现平抛运动。
本例中的多数代码必须在放映幻灯片时运行,因此如果是2007或者更高版本,需要保存为“启用宏的Powerpoint文稿(*.pptm)”。
1、输入如下代码。
'''''''''''''''''''''''''''''''''''''''''''''
Private Declare Function SetTimer Lib
"user32.dll"
Private Declare Function KillTimer Lib
"user32.dll"
Public lTimerID AsLong , i As Integer
'''''''''''''''''''''''''''''''''''''''''''''
Public Sub drawOval (
End Sub
'''''''''''''''''''''''''''''''''''''''''''''
Sub moveOval (
j=j+1
End Sub
'''''''''''''''''''''''''''''''''''''''''''''
Sub StartTimer(lDuration As Long)
End Sub
'''''''''''''''''''''''''''''''''''''''''''''
Sub StopTimer()
End Sub
'''''''''''''''''''''''''''''''''''''''''''''
Sub OnTime(
End Sub
第一段程序引入定时器的API函数,并定义两个全局变量。第二段程序是绘制一个小球并命名(本段运行一次以后可以删掉)。第三段程序,如果i=0,则启动定时器(本例StartTimer
10表示每10毫秒触发一次定时器事件,即执行一次后面的OnTime函数,i=100则重新初始化程序。第四段程序是停止定时器。第五段——也就是最后一段程序——移动小球并画出一条轨迹,当i=100时终止程序。cm2p函数见
以上在画图的同时给画图对象命名,这样做的目的是,以后可以方便地通过名字操作所绘制的对象。
2、先在设计视图下执行前面的第一段程序,再绘制一个矩形作为按钮。
3、选中刚才绘制的矩形,在“插入”选项卡里单击“动作”按钮,弹出对话框。单击“运行宏”,然后在下拉框里选择moveOval,即可放映运行。
本文是在运行时逐段画出轨迹的,也可以在画出小球时同时画出抛物线轨迹(用AddPolyLine方法),并画一与背景颜色相同的矩形盖住轨迹,然后在运行时同时移动小球和矩形。
本例除了大部分代码需要在ppt放映时运行外,还有一点要注意的是,就是当放映运行一次以后返回到设计界面,小球仍然停留在放映运行以后的位置。

加载中…